History log of /dragonfly/sys/netinet/in_rmx.c (Results 1 – 25 of 44)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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


12