| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
From <kshe59 at zoho.eu>
|
| | |
|
| |
|
|
| |
From kshe59@zoho.eu.
|
| |
|
|
| |
From kshe59@zoho.eu
|
| |
|
|
| |
by & OK mpi, input & OK visa
|
| | |
|
| |
|
|
| |
Suggested by and OK mpi, OK visa
|
| |
|
|
|
|
| |
functions to pave way for more fine grained locking.
Suggested by, comments & OK mpi
|
| |
|
|
|
|
| |
Exposes per-CPU counters to real parrallelism.
ok visa@, bluhm@, jca@
|
| |
|
|
|
|
| |
Not all of them need the NET_LOCK().
ok bluhm@
|
| |
|
|
|
|
| |
all the callers to call m_freem(9).
Support from deraadt@ and tedu@, ok visa@, bluhm@
|
| |
|
|
| |
Tested by Hrvoje Popovski, ok bluhm@
|
| |
|
|
|
|
|
| |
In particular setting an expiration timer on a route entry which would
confuse L2 state machines.
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@
|
| | |
|
| |
|
|
|
|
|
|
| |
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@
|
| |
|
|
|
|
|
| |
to simplify the locking of those lists. For now move the LIST_ENTRY from
rawcb into routecb and in the pfkey case a new keycb. Do some cleanup and
renaming in the pfkey code but more to come.
OK bluhm@ mpi@
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
buffers.
This is one step towards unlocking TCP input path. Note that all the
functions asserting for the socket lock are not necessarilly MP-safe.
All the fields of 'struct socket' aren't protected.
Introduce a new kernel-only kqueue hint, NOTE_SUBMIT, to be able to
tell when a filter needs to lock the underlying data structures. Logic
and name taken from NetBSD.
Tested by Hrvoje Popovski.
ok claudio@, bluhm@, mikeb@
|
| |
|
|
|
|
|
|
|
| |
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@
|
| |
|
|
|
| |
No binary change.
OK mpi@
|
| |
|
|
|
|
| |
zero the buffers first. All the current objects appear to be safe,
however future changes might introduce structure pads.
Discussed with guenther, ok bluhm
|
| |
|
|
|
|
|
|
| |
family is incorrect.
Prevent bgpd(8) to corrupt ARP entries as reported by Joe Holden.
ok benno@, claudio@
|
| |
|
|
|
|
|
| |
Attach is quite a different thing to the other PRU functions and
this should make locking a bit simpler. This also removes the ugly
hack on how proto was passed to the attach function.
OK bluhm@ and mpi@ on a previous version
|
| |
|
|
| |
ok bluhm@, claudio@
|
| |
|
|
|
|
|
|
| |
The only function that need the lock is rtm_output() as it messes with
the routing table. So grab the lock there since it is safe to sleep
in a process context.
ok bluhm@
|
| |
|
|
|
|
|
| |
pass the socket to it and do the SO_USELOOPBACK check there. This removes
a the nasty hack in the output function where the sp_family is set to 0
temporarily.
OK bluhm@ mpi@
|
| |
|
|
|
|
| |
own function.
ok bluhm@
|
| |
|
|
|
|
|
|
|
| |
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@
|
| |
|
|
|
| |
fixed parameters.
OK mpi@ claudio@ dhill@
|
| |
|
|
|
|
|
| |
and do no critical operations on global structures or per socket.
The route entry we are working on is reference counted. Call
malloc(9) with M_WAITOK and remove the NULL result checks.
OK mpi@
|
| |
|
|
|
|
|
| |
information that can be used to configure an interface and
related network components.
ok bluhm@, ok for various older versions mpi@ florian@ claudio@
|
| |
|
|
| |
ok bluhm@
|
| |
|
|
| |
ok dhill@, florian@, bluhm@
|
| |
|
|
|
|
|
| |
This makes it easier to grep for a member, such as .pr_usrreq, and know
which functions to review.
ok mpi@ bluhm@ jca@
|
| |
|
|
|
|
|
|
| |
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@
|
| |
|
|
|
|
|
| |
rt_entry. Use this function in the success case of all route commands.
Reduce the goto madness in route_output and make the code hopefully a
bit easier to read and work with.
OK mpi@ bluhm@
|
| |
|
|
|
|
|
|
|
|
| |
this lets pflogd run again.
rename if_data() to if_getdata() while here to make grepping for
things less noisy.
reported by jsg@
worked through with deraadt@
|
| |
|
|
|
|
|
|
|
|
|
| |
a new if_data() function takes a pointer to ifnet and merges its
if_data and ifq statistics. it takes the ifq mutex around the reads
of the ifq stats so they get a consistent copy.
the ifnet and ifq stats are merged because some parts of the stack
still update the ifnet counters.
ok visa@ (on an earlier diff) mpi@ claudio@
|
| | |
|
| |
|
|
|
|
|
| |
is actually not syntactically valid, call 'goto fail' instead.
Remove unneeded rtable_exists() exists checks since those have been done
early on.
OK mpi@
|
| |
|
|
|
|
| |
family to it. Simplifies the code and disconnects route_input from protosw.
The rouing socket is special so no need to try to work like other protos.
With input from bluhm@, OK mpi@
|
| |
|
|
| |
ok mpi@
|
| |
|
|
|
|
| |
bfd session details are visible with "route -n get 192.0.2.1 -bfd"
OK mpi@ deraadt@ claudio@
|
| |
|
|
|
|
|
|
|
|
| |
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@
|
| |
|
|
|
|
|
|
|
|
|
| |
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@
|
| |
|
|
|
|
| |
NULL tests.
ok mpi@
|