Age | Commit message (Collapse) | Author |
|
connected routes to prefixes/hosts.
Since the introduction of rt_ifa_addloop(9) and rt_ifa_delloop(9),
rtinit() was just a wrapper, so use the underlying functions
directly and document them.
Inputs from and ok mikeb@, manpage tweaks from jmc@
|
|
tree and the 80211 nodes need it.
ok henning@, mikeb@
|
|
from the per-ifp list when an interface is destroyed/removed the
only address left on the list at this point is the link-layer one.
So remove the custom loop and its associated hack for the link-layer
address and simply call if_free_sadl().
As a side effect, this should fix any scenario where if_alloc_sadl()
is called multiple time since the first link-layer address allocated
was never removed from the per-ifp list.
|
|
|
|
Instead of linking multicast records to the first configured address of
the corresponding protocol, making this address and its position in the
global list special, add them to a new list directly linked to the
interface descriptor.
This new multicast address list is similar to the address list, all its
elements contain a protocol agnostic part. This design allows us to
be able to join a multicast group without necessarily having a configured
address. That means IPv6 multicast kludges are no longer needed.
Another benefit is to be able to add and remove an IP address from an
interface without worrying about multicast records. That means that the
global IPv4 list is no longer needed since the first configured address
of an interface is no longer special.
This new list might also be extended in the future to contain the
link-layer addresses used to configure hardware filters.
Tested by sthen@ and weerd@, ok mikeb@
|
|
ok mikeb@, henning@, claudio@
|
|
ok mikeb@, henning@, deraadt@, brad@, miod@
|
|
While here add a comment explaining detach hooks' order of execution when
destroying/detaching an interface.
|
|
network to presentation format to inet_ntop().
The few remaining functions will be soon converted.
ok mikeb@, deraadt@ and moral support from henning@
|
|
global variables to in.h.
ok mikeb@, deraadt@
|
|
Started by claudio@ for IPv4, lots of heavy work by sperreault@
My part started at s2k11, continued at n2k12, g2k12, c2k12 and n2k13.
Lots of help and hints from claudio and bluhm
OK claudio@, bluhm@
|
|
OK henning@
|
|
to the routing table from the hardware interrupt context defer the
if_link_state_change to the process context.
a token (an interface index) is passed to the workq in order to
make sure that if the interface would be gone by the time syswq
goes around to run the task it would just fall through.
ok henning, mpi, deraadt, claudio
|
|
ok mpi@ henning@ benno@
|
|
limit the possible races related to unscheduled task, or anything
else, relying on an unique index.
I say "limit" here because a race can still occurs if you run out
of indexes and jump back to 1. A generation number can be added
later to avoid this problem.
ok deraadt@, claudio@, krw@, mikeb@, "I can live with it" reyk@
|
|
created a bunch of useless dependencies. Remove this implicit
inclusion and do an explicit #include <netinet6/in6_var.h> when it
is needed.
OK mpi@ henning@
|
|
of an interface, named after its IPv6 equivalent.
Make use of it instead of removing addresses by hand when detaching
or destroying an interface. As a bonus, multicast records linked
to the just divorced^Wdetached interface are no longer leaked.
No objection from the gang, ok mikeb@
|
|
on the parent interface. This is similar to what bridge(4), trunk(4)
or carp(4) are doing and allows us to get rid of the detachhook.
ok reyk@, mikeb@
|
|
depends on this feature, discussed with claudio@.
|
|
the possible races related to unscheduled task relying on an unique index.
I say "limit" here because a race can still occurs if you run out of
indexes and jump back to 1.
ok krw@, mikeb@
|
|
ok krw@, mikeb@
|
|
ok mikeb@, sthen@, tedu@ (implied), doc bits ok jmc@
|
|
Reported by naddy@
|
|
structure rather than doing various M_WAITOK allocations during
the *attach() functions, we always rely on them anyway.
ok mikeb@, uebayasi@
|
|
succeed, and it's always called in sleepable context.
OK mikeb@ yasuoka@
|
|
array indexed by interface numbers, add a new field to the interface
descriptor pointing to it.
claudio@ and todd@ like it, ok mikeb@
|
|
OK tedu@ claudio@
|
|
slipped by on i386, but the zaurus doesn't automagically pick it up.
spotted by patrick
|
|
|
|
ok millert@, haesbaert@, bluhm@
|
|
ok beck@, mikeb@
|
|
an interface index and replace all the redondant checks and accesses
to a global array by a call to this function.
With imputs from and ok bluhm@, mikeb@
|
|
ok claudio mpi
|
|
ok mikeb@, miod@
|
|
check for the reference counter.
ok mikeb@, miod@, pelikan@, kettenis@, krw@
|
|
looks fine reyk@ ok mikeb@
|
|
Since the ifp is not detached in the SIOCSIFRDOMAIN case remove the
clear there. With and OK deraadt@
|
|
Resurrect the rather silly "unplug my network device while I am
doing nfs diskless revarp" safety code which was disabled due to
a missing "ether.h" include, found by jsg
ok jsg
|
|
of to the bridge itself. This is ok, since an interface can only be part
of one bridge, and the parent bridge is easy to find from the bridgeport.
This way we can get rid of a lot of list walks, improving performance
and shortening the code.
ok henning stsp sthen reyk
|
|
to a radix_node struct.
The radix tree pushdown continues.
ok claudio@
|
|
returns radix_node pointers, inside a new rt_mpath_next, which accepts
and returns rtentry pointers, and start using that instead.
ok claudio@
|
|
as functions that modify routing information shouldn't be interruptable by
network traffic.
Also make sure that both of those functions assert that they are called
at softnet. I'm reasonably sure that there shouldn't be any, but if there
is any codepath that was missed, we're going to be here for another 4 days
to deal with any fallout.
While here, move the multitude of "int s" declarations inside ifioctl to
the beginning of the function.
okay claudio@
|
|
cleaner to access the first member via ia_ifa instead of casting.
No binary change.
ok henning@ krw@
|
|
if_detach() handles this ok. carpdetach() can now lower the demote
count on the carp group correctly.
ok henning mpf
|
|
|
|
unconditional, always on. 8 priority levels, as every better switch, the
vlan header etc etc. ok ryan mpf sthen, pea tested as well
|
|
|
|
adjusting it to the new world order in my tree... remove it, ok ryan claudio
|
|
|
|
ok deraadt
|