Age | Commit message (Collapse) | Author |
|
Input bluhm
OK benno, kn, claudio
|
|
route entry.
This makes sure we pass the correct size to free(9).
Reproted by and ok dlg@
|
|
entry that has been cloned from a different RTF_CLONING route.
Bug report & ok friehm@
|
|
ok claudio@, jmatthew@
|
|
the correct one to clone the gateway.
Fix wired vs wireless on the same subnet issue as well as a more
complicated setup reported by dlg@.
ok jmatthew@, claudio@, dlg@
|
|
This will be needed to select the proper cloning route in a multipath
scenario.
While here remove a NET_ASSERT_LOCKED(), the routing table doesn't need
the lock.
ok dlg@
|
|
still had this hack in. This needs to be revisted and better understood.
It may be needed to add a mplsrdomain to mpe(4) but MPLS only in the rtable 0
is hardcoded in more places and we should fix them all.
OK mpi@
|
|
no entry are missed.
While here do not re-ordered or send messages for route entries that are
already in the expected state.
Make rttest30 pass.
ok gerhard@
|
|
Tested by Hrvoje Popovski, ok bluhm@
|
|
ok bluhm@, florian@
|
|
OK mpi
|
|
Prompted by a bugreport by naddy that IPv6 autoconfiguration is broken
in the installer.
OK mpi, "go for it" deraadt
|
|
rtdeletemsg().
ok bluhm@
|
|
Reduce differences with rtm_miss().
ok claudio@, bluhm@
|
|
So rename it to rtm_getifa(), move it where it belongs and stop calling
it from rtrequest(9). Route entries created by the kernel must always
specify the corresponding `ifa'.
ok claudio@
|
|
try to remove a route from the table if it is and invalid cache.
This is a step towards decoupling code dealing with userland and kernel
inserted routes.
ok bluhm@
|
|
aren't protected by the NET_LOCK().
While here change lock assertions in rt_{set,put}gwroute(), the NET_LOCK()
is enough.
Tested by Hrvoje Popovski.
ok jmatthew@, claudio@
|
|
so use rtable_l2() to get the right id. Fixes adding routes to rtables.
OK mpi@ phessler@
|
|
ok visa@
|
|
No binary change.
OK mpi@
|
|
them all in net/rtsock.c.
This allows to easily spot which functions are doing a copyout(9)
when dealing with the routing midlayer.
ok phessler@, bluhm@, dhill@, krw@, claudio@
|
|
OK claudio@ mpi@
|
|
rtalloc(9) should be reserved for the hot path otherwise it's hard
to interpret the value of the 'use' counter.
ok claudio@
|
|
OK mikeb@
|
|
This makes the API simpler, and is probably more useful than spreading
counters memory other several types, making it harder to track.
Prodded by mpi, ok mpi@ stsp@
|
|
rectification.
|
|
OK mpi@
|
|
ok mpi@
|
|
should fix a panic reported by Hrvoje Popovski
|
|
of the network stack that are not yet ready to be executed in parallel or
where new sleeping points are not possible.
This first pass replace all the entry points leading to ip_output(). This
is done to not introduce new sleeping points when trying to acquire ART's
write lock, needed when a new L2 entry is created via the RT_RESOLVE.
Inputs from and ok bluhm@, ok dlg@
|
|
prevent a mpath conflict for /32 RTF_CLONING routes.
Found the hardway by jsing@ on Google Compute Engine.
ok bluhm@, jsing@
|
|
gateway is not reachable (e.g. not on a local subnet).
ok millert@ mikeb@ mpi@
(and shrugs by jca@)
|
|
when RTF_CONNECTED routes are added to the routing table.
Specify a route priority calculated in the same way when deleting such routes.
Makes route add and delete code paths consistent again.
ok mpi@
|
|
calling splsoftnet() recursively.
|
|
NULL tests.
ok mpi@
|
|
ok jsg@
|
|
Note that dereferencing ``rt_ifa'' after calling rtfree(9) is generally
not safe. In this case we rely on the fact that rtredirect() is still
serialized with interface ioctl(2)s.
This function cries for a rewrite.
Reported by and ok jsg@
|
|
When multiple RTF_CLONING routes exist for a given subnet, bringing
one of the interfaces up/down could make impossible to insert new
ARP/NDP entries.
In this case the first RTF_CONNECTED route of the multipath list no
longer corresponded to the wired interface because it had the same
priority as the carp(4) route.
This is another regression of supporting multiple RTF_CONNECTED routes.
Fix a bug with a CARP setup reported by stsp@
ok stsp@
|
|
In order to stop abusing lo0 for all rdomains, a new loopback interface
will be created every time a rdomain is created. The unit number will
be the same as the rdomain, i.e. lo1 will be attached to rdomain 1.
If this loopback interface is already in use it wont be possible to create
the corresponding rdomain.
In order to know which lo(4) interface is attached to a rdomain, its index
is stored in the rtable/rdomain map.
This is a long overdue since the introduction of rtable/rdomain. It also
fixes a recent regression due to resetting the rdomain of an incoming
packet reported by semarie@, Andreas Bartelt and Nils Frohberg.
ok claudio@
|
|
Timers configured via rt_timer_add(9) always run at IPL_SOFTNET, so
assert that rather than calling splsoftnet().
ok bluhm@
|
|
ifa_ifwithnet() checks if a given address is directly connected. This
function predates the introduction of the BSD routing table. Nowdays
we can check if the route for the given address is marked as RTF_GATEWAY.
This works on OpenBSD because we always install RTF_CONNECTED routes
for subnets a and RTF_HOST route per p2p link.
ok vgross@
|
|
splsoftnet() if the function does a splsoftassert(IPL_SOFTNET)
anyway.
|
|
routing table.
Found the hardway by Chris Jackman.
|
|
There's no need to insert an RTF_LOCAL route if it is already there, not
if a route with the same destination exist.
This fixes a KASSERT() triggered by adding an alias for an address already
present in the ARP cache as reported by weerd@ and Peter J. Philipp.
This should also fix a KASSERT() triggered by a NDP change reported by
Sebastien Marie.
ok bluhm@
|
|
|
|
the ioff argument to pool_init() is unused and has been for many
years, so this replaces it with an ipl argument. because the ipl
will be set on init we no longer need pool_setipl.
most of these changes have been done with coccinelle using the spatch
below. cocci sucks at formatting code though, so i fixed that by hand.
the manpage and subr_pool.c bits i did myself.
ok tedu@ jmatthew@
@ipl@
expression pp;
expression ipl;
expression s, a, o, f, m, p;
@@
-pool_init(pp, s, a, o, f, m, p);
-pool_setipl(pp, ipl);
+pool_init(pp, s, a, ipl, f, m, p);
|
|
Since our BFD implementation relies on the existence of routes, it is much
easier to set the BFD parameters with RTM_CHANGE, especially if something
bad happen.
Discussed with and ok phessler@, claudio@
|
|
not before.
ok claudio@
|
|
Leaving a NULL pointer on a RTF_GATEWAY is no longer supported,
and a KASSERT() triggers.
Found the hardway by and ok sthen@
|
|
rtrequest_delete(). The inpcb has a cache of the route that still
exists when the interface has been detached.
kassert triggered from tcp timeout by awolk@; OK mpi@
|