#
7485684f |
| 03-Mar-2024 |
Aaron LI <aly@aaronly.me> |
Whitespace cleanups
|
#
951ecd7f |
| 18-Mar-2024 |
Aaron LI <aly@aaronly.me> |
netinet: Auto add loopback routes to interface addresses
When adding an address to an interface, a loopback route will be created to route the traffic targeting it through the lo0 interface. The lo
netinet: Auto add loopback routes to interface addresses
When adding an address to an interface, a loopback route will be created to route the traffic targeting it through the lo0 interface. The loopback route will also be removed when the corresponding interface address is deleted.
In principle, this can help simplify the network input and output paths by avoiding special handling of local addresses. That deserves some further efforts.
Nonetheless, an immediate benefit goes to wg(4). Now we can access (e.g., ping) from localhost a wg(4) interface's IPv4 addresses. Previously it was broken because wg(4) is a virtual device and doesn't have/use ARP. For Ethernet devices, the ether_output() function will redirect the traffic targeting its own address to the loopback interface by calling if_simloop().
Derived from FreeBSD; the major commits are: - This patch adds a host route to an interface address ... https://github.com/freebsd/freebsd-src/commit/ebc90701ac6c1f814c5bd6f3e19f0113ebe06156 - Self pointing routes are installed for configured interface addr ... https://github.com/freebsd/freebsd-src/commit/9bb7d0f47a3265a1782a64837ae93dde4c550a6a - Unify loopback route switching https://github.com/freebsd/freebsd-src/commit/59c180c35c1ddc1d544a1c73c789d126a8fbac78 - Fix rt_ifa selection during loopback route insertion process https://github.com/freebsd/freebsd-src/commit/2ad7ed6e4a84448234e9aaef3c9fa884848f7387
Discussed-with: dillon
show more ...
|
#
d8449084 |
| 15-Nov-2023 |
Aaron LI <aly@aaronly.me> |
Remove no longer needed casts for radix routines
|
#
6823c302 |
| 15-Nov-2023 |
Aaron LI <aly@aaronly.me> |
net/radix: Update rn_inithead() parameter type to avoid boring casts
Change to use the proper 'struct radix_node_head **' instead of an opaque 'void **'.
|
#
22dac581 |
| 27-Jun-2023 |
Aaron LI <aly@aaronly.me> |
net/radix: Add 'const' qualifier to input key/netmask
They're only referenced in the radix tree and wouldn't be modified, so add 'const' qualifier to make it clear.
Adjust callers for this change a
net/radix: Add 'const' qualifier to input key/netmask
They're only referenced in the radix tree and wouldn't be modified, so add 'const' qualifier to make it clear.
Adjust callers for this change accordingly.
Referred to FreeBSD.
show more ...
|
Revision tags: v6.4.0, v6.4.0rc1, v6.5.0, v6.2.2, v6.2.1, v6.2.0, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0, v5.8.3, v5.8.2, v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3, v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2, v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1, v5.2.2, v5.2.1, v5.2.0, v5.3.0, v5.2.0rc, v5.0.2, v5.0.1, v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1 |
|
#
c35713df |
| 25-Sep-2017 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
route: Minor style change.
|
#
43dbcc2a |
| 08-Aug-2017 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
route: Routes should only be accessed from the first netisr_ncpus netisrs.
Replicate routes to the first netisr_ncpus CPUs, instead of all CPUs.
|
#
5204e13c |
| 07-Aug-2017 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
netisr: Simplify assertion related bits
|
#
a40a6b17 |
| 03-Aug-2017 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
inet: Prevent excessive IPI from draining PR cloned host routes.
|
Revision tags: v4.8.1, v4.8.0, v4.6.2, v4.9.0, v4.8.0rc, v4.6.1, v4.6.0, v4.6.0rc2, v4.6.0rc, v4.7.0, v4.4.3, v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc |
|
#
86317138 |
| 19-Aug-2015 |
Nuno Antunes <nuno.antunes@gmail.com> |
netinet{,6}: Assert in{,6}_inithead() are only used for system routing tables.
Suggested-by: sephe
|
#
794500d0 |
| 19-Aug-2015 |
Nuno Antunes <nuno.antunes@gmail.com> |
kernel/nfs: Remove old hack abusing dom_rtattach.
* Mostly obtained from FreeBSD. Here's the relevant part of the original commit message.
According to IANA RPC uaddr registry, there are no A
kernel/nfs: Remove old hack abusing dom_rtattach.
* Mostly obtained from FreeBSD. Here's the relevant part of the original commit message.
According to IANA RPC uaddr registry, there are no AFs except IPv4 and IPv6, so it's not worth being too abstract here.
Remove ne_rtable[AF_MAX+1] and use explicit per-AF radix tries. Use own initialization without relying on domattach code.
While I admit that this was one of the rare places in kernel networking code which really was capable of doing multi-AF without any AF-depended code, it is not possible anymore to rely on dom* code.
* Give netexports their own mask radix tree.
Reviewed-by: sephe, dillon Tested-by: dillon
show more ...
|
Revision tags: v4.2.4, v4.3.1, v4.2.3, v4.2.1, v4.2.0, v4.0.6, v4.3.0, v4.2.0rc, v4.0.5, v4.0.4, v4.0.3, v4.0.2 |
|
#
7f515ee3 |
| 17-Dec-2014 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
route/inet: Set the mtu if it is _not_ configured, i.e. is 0
|
Revision tags: v4.0.1, v4.0.0, v4.0.0rc3, v4.0.0rc2, v4.0.0rc, v4.1.0 |
|
#
457a0766 |
| 09-Sep-2014 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
route/inet: Dispatch in_rtqdrain to netisrs to run
|
#
309c191d |
| 08-Sep-2014 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
route/inet: Prioritize timeout netmsgs
|
Revision tags: v3.8.2, v3.8.1, v3.6.3, v3.8.0, v3.8.0rc2, v3.9.0, v3.8.0rc, v3.6.2, v3.6.1, v3.6.0 |
|
#
ce5423a9 |
| 15-Nov-2013 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
route/ip4: Utilize lwkt_sendmsg_oncpu
|
Revision tags: v3.7.1, v3.6.0rc, v3.7.0 |
|
#
cec73927 |
| 05-Sep-2013 |
Matthew Dillon <dillon@apollo.backplane.com> |
kernel - Change time_second to time_uptime for all expiration calculations
* Vet the entire kernel and change use cases for expiration calculations using time_second to use time_uptime instead.
*
kernel - Change time_second to time_uptime for all expiration calculations
* Vet the entire kernel and change use cases for expiration calculations using time_second to use time_uptime instead.
* Protects these expiration calculations from step changes in the wall time, particularly needed for route table entries.
* Probably requires further variable type adjustments but the use of time_uptime instead if time_second is highly unlikely to ever overrun any demotions to int still present.
show more ...
|
#
ef94cdf8 |
| 05-Sep-2013 |
Matthew Dillon <dillon@apollo.backplane.com> |
kernel - ipv6 - Fix broken 'invalid mtu expiration time' message
* Fix broken 'invalid mtu expiration time' message on the console.
Reported-by: tuxillo
|
Revision tags: v3.4.3 |
|
#
dd221ab3 |
| 08-Aug-2013 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
route/inet: Add comment about read/write shared global variables
|
#
ced33c73 |
| 08-Aug-2013 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
route/inet: Dispatch PRCLONed route expiration to netisr
|
#
b4500fbf |
| 10-Jul-2013 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
route: Prioritize routing messages during iface down
|
#
2c4bf548 |
| 10-Jul-2013 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
route: Factor out rt_domsg_global()
|
#
9763404f |
| 09-Jul-2013 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
route: Remove per-cpu routing threads; use netisr instead
There are several problems w/ per-cpu route thread: - Busy netisr could potentially delay routing changes - Blocking R_Malloc() could leave
route: Remove per-cpu routing threads; use netisr instead
There are several problems w/ per-cpu route thread: - Busy netisr could potentially delay routing changes - Blocking R_Malloc() could leave rtentry in inconsistent state between netisr and routing threads.
show more ...
|
#
f85f0b7e |
| 07-Jun-2013 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
in_ifadown: Don't migrate CPU when delete addr routes; use rt_threads
|
#
2c179393 |
| 29-May-2013 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
carp: Fix routes reset issue
Before this commit, routes related to carp or carp backing device were reset, i.e. only prefix route was left, when carp state changed, e.g. carp is down.
This commit f
carp: Fix routes reset issue
Before this commit, routes related to carp or carp backing device were reset, i.e. only prefix route was left, when carp state changed, e.g. carp is down.
This commit fixes this routes reset issue by replacing the carp or carp device routes' rt_ifa and rt_ifp with proper ifaddr and ifnet, instead of discarding the old routes and installing the new prefix route.
Reported-by: robgar
show more ...
|
Revision tags: v3.4.2, v3.4.0, v3.4.1, v3.4.0rc, v3.5.0, v3.2.2, v3.2.1, v3.2.0, v3.3.0 |
|
#
271d38c4 |
| 23-Aug-2012 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
route: Routing table is replicated to all CPUs, not # of CPUs on power of 2
DragonFly-bug: http://bugs.dragonflybsd.org/issues/2355
|