| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
m_leadingspace() and m_trailingspace(). Convert all callers to call
directly the functions and remove the defines.
OK krw@, mpi@
|
|
|
|
|
|
|
| |
The account flag `ASU' will no longer be set but that makes suser()
mpsafe since it no longer mess with a per-process field.
No objection from millert@, ok tedu@, bluhm@
|
|
|
|
|
|
| |
memory shortage. As it is invoked from a system call, it should
not fail and wait instead.
OK visa@ mpi@
|
|
|
|
| |
Tested by Hrvoje Popovski, ok bluhm@
|
|
|
|
|
|
|
| |
This will help transitionning to an un-KERNEL_LOCK()ed IP
forwarding path.
Disucssed with bluhm@, ok claudio@
|
|
|
|
| |
ok sashan@
|
|
|
|
| |
ok visa@
|
| |
|
| |
|
|
|
|
| |
ok visa@, bluhm@
|
| |
|
|
|
|
|
| |
splsoftnet() if the function does a splsoftassert(IPL_SOFTNET)
anyway.
|
|
|
|
| |
ok deraadt@ mikeb@
|
|
|
|
|
|
|
| |
via unions, and we don't want to make it easy to control the target.
instead an integer index into an array of acceptable functions is used.
drivers using custom functions must register them to receive an index.
ok deraadt
|
| |
|
|
|
|
| |
ok dlg@
|
|
|
|
| |
this avoids wall clock jumps skewing the idle times.
|
| |
|
|
|
|
|
| |
ok many
no objections from anyone
|
| |
|
|
|
|
|
|
|
|
|
| |
with IPTOS_LOWDELAY set.
this complicates efforts to clean up the send queue, and is probably
better done by queues in pf than unconditionally in a single driver.
ok sthen@
|
|
|
|
|
|
|
|
|
| |
L2 resolution depends on the protocol (encoded in the route entry) and
an ``ifp''. Not having to care about an ``ifa'' makes our life easier
in our MP effort. Fewer dependencies between data structures implies
fewer headaches.
Discussed with bluhm@, ok claudio@
|
|
|
|
|
|
| |
also the comment above IFQ_ENQUEUE that says the pattr argument is unused.
ok mpi@
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(Especially adding IF_DROP() after IFQ_ENQUEUE() was completely wrong because
IFQ_ENQUEUE() already does it. Oops.)
After this revert, the situation becomes:
- if_snd.ifq_drops is incremented in either IFQ_ENQUEUE() or IF_DROP(), but
it is not shown to userland, and
- if_data.ifi_oqdrops is shown to userland, but it is not incremented by
anyone.
|
|
|
|
|
|
| |
mpi@ prefers checking IFQ_ENQUEUE() error, and this matches that.
OK dlg@
|
|
|
|
| |
ok stsp mpi
|
|
|
|
| |
ok bluhm@, claudio@, dlg@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
receiving interface in the packet header of every mbuf.
The interface pointer should now be retrieved when necessary with
if_get(). If a NULL pointer is returned by if_get(), the interface
has probably been destroy/removed and the mbuf should be freed.
Such mechanism will simplify garbage collection of mbufs and limit
problems with dangling ifp pointers.
Tested by jmatthew@ and krw@, discussed with many.
ok mikeb@, bluhm@, dlg@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
recent improvements to diagnostics in pools and mbufs now panic
instead of letting these things silently corrupt.
this reworks the ppp handling in the tty layer so it has its own
private pool to allocate packet memory out of. these packets get
built and then queued for softnet to process. softnet dequeues the
packet and attaches it to mbufs as external storage before handing
it on to the rest of the stack.
this was reported on bugs@ and tested by both Walter Daugherity and
Martin van den Nieuwelaar
ok deraadt@ mpi@
|
|
|
|
| |
ok krw@ miod@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
with niqueues.
this change is so big because there's a lot of code that takes
pointers to different input queues (eg, ether_input picks between
ipv4, ipv6, pppoe, arp, and mpls input queues) and falls through
to code to enqueue packets against the pointer. if i changed only
one of the input queues id have to add sepearate code paths, one
for ifqueues and one for niqueues in each of these places
by flipping all these input queues at once i can keep the currently
common code common.
testing by mpi@ sthen@ and rafael zalamena
ok mpi@ sthen@ claudio@ henning@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
its only used for the ip and ip6 network stack input queues, so it
seems unfair that every instance of ifqueue has to carry a pointer
around for this specific use case.
this moves the congestion marker to a kernel global. if we detect
that we're congested, we assume the whole system is busy and punish
all input queues.
marking a system as congested is done by setting the global to the
current value of ticks. as the system moves away from that value,
it moves away from being congested until the comparison fails.
written at s2k15
ok henning@ beck@ bluhm@ claudio@
|
|
|
|
|
| |
long live the one true internet.
ok henning mikeb
|
|
|
|
| |
ok tedu@ deraadt@
|
|
|
|
| |
ok mikeb@, krw@, bluhm@, tedu@
|
|
|
|
| |
ok deraadt@ tedu@
|
| |
|
|
|
|
| |
after discussions with beck deraadt kettenis.
|
|
|
|
|
|
|
|
|
|
| |
instead of relying on hacks in nd6_rtrequest() to add a route to
loopback for each address configured on such interfaces.
While here document that abusing lo0 for local traffic is not safe
for interfaces in a non-default rdomain.
Tested by claudio@, jca@ and sthen@, ok sthen@
|
|
|
|
|
| |
big WTF regarding the fastq use there while verifying w/ claudio, but
that's for the ppp maintainer and unrelated
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Avoid the confusion by using an appropriate name for the variable.
Note that since routing domain IDs are a subset of the set of routing
table IDs, the following idiom is correct:
rtableid = rdomain
But to get the routing domain ID corresponding to a given routing table
ID, you must call rtable_l2(9).
claudio@ likes it, ok mikeb@
|
|
|
|
|
|
| |
global variables to in.h.
ok mikeb@, deraadt@
|
|
|
|
|
|
| |
them ignore the SIOC{ADD,DEL}MULTI ioctls.
ok reyk@, claudio@
|
|
|
|
|
| |
.h files to pull it in, if needed
ok tedu
|
|
|
|
| |
ok beck@, mikeb@
|
|
|
|
| |
no binary changes on i386.
|
|
|
|
| |
readonly mbufs) but use M_PROTO1 and M_LINK0 instead; ok mikeb@
|
| |
|
|
|
|
| |
from Michael W. Bombardieri
|
|
|
|
|
| |
with this nothing in the tree fiddles if ifqueue internals any more, of
course except if.c and if.h (and some altq)
|