Age | Commit message (Collapse) | Author |
|
useful to propagate the error. When an error occurs in an asynchronous
network path, incrementing a counter is the right thing. There are
four places where an error is not accounted, just add a comment for
now.
OK mpi@ visa@
|
|
This prevents a deadlock with the X server and some wireless drivers.
The real fix is to take unix domain socket code out of the NET_LOCK().
Issue reported by pirofti@ and ajacoutot@
ok tb@, stsp@, pirofti@
|
|
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@
|
|
Try to follow the existing examples. Some notes:
- don't implement counters_dec() yet, which could be used in two
similar chunks of code. Let's see if there are more users first.
- stop incrementing IPv6-specific mbuf stats, IPv4 has no equivalent.
Input from mpi@, ok bluhm@ mpi@
|
|
<netinet/in.h> and <arpa/inet.h>
ok and ports test naddy@ (thanks!)
ok krw@ beck@ millert@
|
|
the netlock held. This also changes the prototypes of the *ctloutput
functions to take an mbuf instead of an mbuf pointer.
help, guidance from bluhm@ and mpi@
ok bluhm@
|
|
ok dlg@ mpi@
|
|
to get rid of struct ip6protosw and some wrapper functions. It is
more consistent to have less different structures. The divert_input
functions cannot be called anyway, so remove them.
OK visa@ mpi@
|
|
IPv4 pr_ctlinput functions did return a void pointer that was always
NULL and never used. Make all functions void like in the IPv6 case.
OK mpi@
|
|
make the variable parameters of the protocol input functions fixed.
Also add the proto to make it similar to IPv6.
OK mpi@ guenther@ millert@
|
|
removed in 2004. The comment about raw_input() above rip_input()
was added in 1981, but it is wrong since 1992. After that it has
been copied to rip6_input(). (*pr_input)() is never called with
the parameters (mbuf, sockproto, sockaddr, sockaddr).
So retire raw_input().
OK guenther@ deraadt@
|
|
only once per packet.
Fix a regression introduced when if_input() started to be called by
every pseudo-driver.
ok claudio@, dlg@
|
|
ok benno@
|
|
Tested by Hrvoje Popovski, ok visa@
|
|
ok mpi@
|
|
routes. Beside the code simplification and removal, we also get to see
the multicast routes now in the route(8) utility.
ok mpi@
|
|
ok bluhm@, kettenis@
|
|
OK mikeb@ mpi@
|
|
Fix an assert reported by Hrvoje Popovski.
ok visa@, mikeb@
|
|
configuration and instead use ifnet to store the configuration and
counters. With this we can safely use multicast routing daemons on
multiple domains without vif id colisions.
ok mpi@
|
|
and using m_dup_pkt() instead of m_copym() with max_linkhdr space adjust
on packet sending to avoid more mbuf allocations.
with input from millert@ and mikeb@,
ok mikeb@
|
|
ok rzalamena@, visa@
|
|
splsoftnet.
ok mikeb@
|
|
it follows the same pattern used in previous conversions.
from Dimitris Papastamos (thank you).
ok mpi@
|
|
ok visa@, mikeb@
|
|
|
|
in ip_output().
Found the hardway by and ok kettenis@
|
|
ok mpi@
|
|
|
|
ok bluhm@
|
|
softnet assert failures. It is better to place the lock into
net_sysctl() where all the protocol sysctls are called via pr_sysctl.
As calling sysctl(2) is in the slow path, doing fine grained locking
has no benefit. Many sysctl cases copy out a struct. Having a
lock around that keeps the struct consistent. Put assertions in
the protocol sysctls that need it.
OK mpi@
|
|
While here remove two redundant splsoftnet()/splx() dances.
inputs and ok bluhm@
|
|
ok mikeb@, bluhm@
|
|
|
|
this way we save doing big tables walk and iterating tables that we don't
need to.
ok mpi@
|
|
has IPL_SOFTNET as ipl.
ok mikeb@, kettenis@
|
|
ok reyk@
|
|
ok bluhm@
|
|
ok mpi@
|
|
it is called at IPL_SOFTNET.
|
|
added to the interface address list, but the local route is missing.
This inconsistency could result in a "ifa == rt->rt_ifa" assertion
panic later. So in case of a route add error, remove the interface
address to get a consistent state again.
OK stsp@ mpi@
|
|
domains. This is one step towards supporting to run more than one multicast
socket in different domains at the same time.
ok mpi@
|
|
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@
|
|
to do this lookup twice.
Suggested by and ok mpi@
|
|
ok mikeb@, phessler@
|
|
calls won't fail anymore when doing from a different rdomain.
ok mpi@
|
|
version to the upper layers. The stack will set this field to IPIP
later on, so make sure it doesn't overwrite the packet in the wrong
location.
ok bluhm@ deraadt@ stsp@
|
|
|
|
|
|
NULL tests.
ok mpi@
|