Revision tags: release/14.0.0 |
|
#
b3e76948 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
#
4d846d26 |
| 10-May-2023 |
Warner Losh <imp@FreeBSD.org> |
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause.
Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
show more ...
|
Revision tags: release/13.2.0, release/12.4.0, release/13.1.0, release/12.3.0 |
|
#
67f2f67f |
| 21-Apr-2021 |
Alex Richardson <arichardson@FreeBSD.org> |
Update rtsock_l3 test after 2fe5a79425c79f7b828acd91da66d97230925fc8
Two of these tests now pass. Looking at Jenkins to find the first commit where this behaviour changed indicates that 2fe5a79425c7
Update rtsock_l3 test after 2fe5a79425c79f7b828acd91da66d97230925fc8
Two of these tests now pass. Looking at Jenkins to find the first commit where this behaviour changed indicates that 2fe5a79425c79f7b828acd91da66d97230925fc8 is the most likely cause.
Reviewed By: melifaro Differential Revision: https://reviews.freebsd.org/D28886
show more ...
|
Revision tags: release/13.0.0 |
|
#
83532eb6 |
| 07-Apr-2021 |
Alex Richardson <arichardson@FreeBSD.org> |
tests/sys/net/routing: XFAIL the two failing tests
They have been failing for 1.5 months and the patch to fix them is stuck in review so mark them as XFAIL for now to get Jenkins back to green.
To
tests/sys/net/routing: XFAIL the two failing tests
They have been failing for 1.5 months and the patch to fix them is stuck in review so mark them as XFAIL for now to get Jenkins back to green.
To be reverted when https://reviews.freebsd.org/D28886 (or similar) is commited.
Reviewed By: kp MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D29528
show more ...
|
#
81728a53 |
| 09-Jan-2021 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Split rtinit() into multiple functions.
rtinit[1]() is a function used to add or remove interface address prefix routes, similar to ifa_maintain_loopback_route(). It was intended to be family-agno
Split rtinit() into multiple functions.
rtinit[1]() is a function used to add or remove interface address prefix routes, similar to ifa_maintain_loopback_route(). It was intended to be family-agnostic. There is a problem with this approach in reality.
1) IPv6 code does not use it for the ifa routes. There is a separate layer, nd6_prelist_(), providing interface for maintaining interface routes. Its part, responsible for the actual route table interaction, mimics rtenty() code.
2) rtinit tries to combine multiple actions in the same function: constructing proper route attributes and handling iterations over multiple fibs, for the non-zero net.add_addr_allfibs use case. It notably increases the code complexity.
3) dstaddr handling. flags parameter re-uses RTF_ flags. As there is no special flag for p2p connections, host routes and p2p routes are handled in the same way. Additionally, mapping IFA flags to RTF flags makes the interface pretty messy. It make rtinit() to clash with ifa_mainain_loopback_route() for IPV4 interface aliases.
4) rtinit() is the last customer passing non-masked prefixes to rib_action(), complicating rib_action() implementation.
5) rtinit() coupled ifa announce/withdrawal notifications, producing "false positive" ifa messages in certain corner cases.
To address all these points, the following has been done:
* rtinit() has been split into multiple functions: - Route attribute construction were moved to the per-address-family functions, dealing with (2), (3) and (4). - funnction providing net.add_addr_allfibs handling and route rtsock notificaions is the new routing table inteface. - rtsock ifa notificaion has been moved out as well. resulting set of funcion are only responsible for the actual route notifications.
Side effects: * /32 alias does not result in interface routes (/32 route and "host" route) * RTF_PINNED is now set for IPv6 prefixes corresponding to the interface addresses
Differential revision: https://reviews.freebsd.org/D28186
show more ...
|
Revision tags: release/12.2.0 |
|
#
1b95005e |
| 04-Oct-2020 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Fix route flags update during RTM_CHANGE. Nexthop lookup was not consireding rt_flags when doing structure comparison, which lead to an original nexthop selection when changing flags. Fix the case
Fix route flags update during RTM_CHANGE. Nexthop lookup was not consireding rt_flags when doing structure comparison, which lead to an original nexthop selection when changing flags. Fix the case by adding rt_flags field into comparison and rearranging nhop_priv fields to allow for efficient matching. Fix `route change X/Y flags` case - recent changes disallowed specifying RTF_GATEWAY flag without actual gateway. It turns out, route(8) fills in RTF_GATEWAY by default, unless -interface flag is specified. Fix regression by clearing RTF_GATEWAY flag instead of failing. Fix route flag reporting in RTM_CHANGE messages by explicitly updating rtm_flags after operation competion. Add IPv4/IPv6 tests for flag-only route changes.
show more ...
|
#
e2515283 |
| 27-Aug-2020 |
Glen Barber <gjb@FreeBSD.org> |
MFH
Sponsored by: Rubicon Communications, LLC (netgate.com)
|
#
5676d488 |
| 22-Aug-2020 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Add test for checking RTF_HOST and RTAX_NETMASK inconsistency.
RTF_HOST indicates whether route is a host route (netmask is empty or /{32,128}). Check that if netmask is empty and host route is not
Add test for checking RTF_HOST and RTAX_NETMASK inconsistency.
RTF_HOST indicates whether route is a host route (netmask is empty or /{32,128}). Check that if netmask is empty and host route is not specified, kernel returns an error.
Differential Revision: https://reviews.freebsd.org/D26155
show more ...
|
Revision tags: release/11.4.0 |
|
#
272bd698 |
| 02-Apr-2020 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Add routing tests verifying basic RTM_CHANGE functionality.
MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D24239
|
#
ddc75076 |
| 29-Mar-2020 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Switch rtsock tests to per-test jails and epair interfaces.
Many rtsock tests verify the ordering of the kernel messages for the particular event. In order to avoid flaky tests due to the other tes
Switch rtsock tests to per-test jails and epair interfaces.
Many rtsock tests verify the ordering of the kernel messages for the particular event. In order to avoid flaky tests due to the other tests running, switch all tests to use personal vnet-enabled jails. This removes all clashes on the IP addresses and brings back the ability to run these tests simultaneously.
Reported by: olivier Reviewed by: olivier Differential Revision: https://reviews.freebsd.org/D24182
show more ...
|
#
b33a8b38 |
| 16-Feb-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r357966 through r357999.
|
#
5b697c5b |
| 16-Feb-2020 |
Li-Wen Hsu <lwhsu@FreeBSD.org> |
Remove trailing whitespace
Sponsored by: The FreeBSD Foundation
|
#
051669e8 |
| 25-Jan-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r356931 through r357118.
|
#
34a5582c |
| 22-Jan-2020 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Bring back redirect route expiration.
Redirect (and temporal) route expiration was broken a while ago. This change brings route expiration back, with unified IPv4/IPv6 handling code.
It introduces
Bring back redirect route expiration.
Redirect (and temporal) route expiration was broken a while ago. This change brings route expiration back, with unified IPv4/IPv6 handling code.
It introduces net.inet.icmp.redirtimeout sysctl, allowing to set an expiration time for redirected routes. It defaults to 10 minutes, analogues with net.inet6.icmp6.redirtimeout.
Implementation uses separate file, route_temporal.c, as route.c is already bloated with tons of different functions. Internally, expiration is implemented as an per-rnh callout scheduled when route with non-zero rt_expire time is added or rt_expire is changed. It does not add any overhead when no temporal routes are present.
Callout traverses entire routing tree under wlock, scheduling expired routes for deletion and calculating the next time it needs to be run. The rationale for such implemention is the following: typically workloads requiring large amount of routes have redirects turned off already, while the systems with small amount of routes will not inhibit large overhead during tree traversal.
This changes also fixes netstat -rn display of route expiration time, which has been broken since the conversion from kread() to sysctl.
Reviewed by: bz MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D23075
show more ...
|
#
ac0bea76 |
| 10-Jan-2020 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Include human-readable list of rtm flags along with bitmask in error messages for rtsock tests.
MFC after: 2 weeks
|
#
e02d3fe7 |
| 07-Jan-2020 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Fix rtsock route message generation for interface addresses.
Reviewed by: olivier MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D22974
|
#
775dc861 |
| 28-Dec-2019 |
Alexander V. Chernikov <melifaro@FreeBSD.org> |
Add userland tests for route table/lltable rtsock operations.
MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D22860
|