Age | Commit message (Collapse) | Author |
|
ok mpf@
|
|
- Add if_stop "stop routine" field in the ifnet struct.
ok mglocker@
|
|
from the individual drivers now that ether_ioctl() handles this.
Shrinks the i386 kernels by..
RAMDISK - 2176 bytes
RAMDISKB - 1504 bytes
RAMDISKC - 736 bytes
Tested by naddy@/okan@/sthen@/brad@/todd@/jmc@ and lots of users.
Build tested on almost all archs by todd@/brad@
ok naddy@
|
|
Use a 1 tick timeout() to determine if the kernel even manages to get
below softclock (from an old diff by mpf). If our timeout comes late,
reduce the high water marks (to half) for all network interfaces, thus
starving them of future packet allocations for their RX rings. For a
few ticks longer, also block the high water marks from rising even if
RX ring empty conditions would prod us to do so.
Cards may start dropping some packets off the end of their smaller RX
rings, but we were not able to do the work required in any case. With
less interrupt time and mbuf movement, the system finds time to make
progress at the network queues. Userland even gets to run.
A x40 tuned to 600MHz shows no real reduction in performance. But a
soekris has a working console now.
ok dlg claudio, and art liked it too
|
|
it is very confusing like this.
ok deraadt@ canacar@
|
|
watermark for mbuf cluster allocations.
this is necessary for things like bge which cannot cope with less than a
certain number of pkts on the ring.
ok deraadt@
|
|
the per ifp cluster allocator. should prevent the hwm being raised
innapropriately when a driver fills its rx ring for the first time.
|
|
allocators again.
|
|
ok dlg
|
|
but don't do that in m_free() as that will cause a double loop behaviour when
called via m_freem().
OK dlg@, deraadt@
|
|
functions will never ever be called in parallel. dlg@ concured
|
|
other option
ok dlg
|
|
whether we're called from the interrupt context to the functions
performing allocations.
Looked at by mpf@ and henning@, tested by mpf@ and Antti Harri,
the pr originator.
ok tedu
|
|
of. currently limited to MCLBYTES (2048 bytes) and 4096 bytes until pools
can allocate objects of sizes greater than PAGESIZE.
this allows drivers to ask for "jumbo" packets to fill rx rings with.
the second half of this change is per interface mbuf cluster allocator
statistics. drivers can use the new interface (MCLGETI), which will use
these stats to selectively fail allocations based on demand for mbufs. if
the driver isnt rapidly consuming rx mbufs, we dont allow it to allocate
many to put on its rx ring.
drivers require modifications to take advantage of both the new allocation
semantic and large clusters.
this was written and developed with deraadt@ over the last two days
ok deraadt@ claudio@
|
|
which are considered down will no be marked ~RTF_UP and so multipath routing
will start to work as expected and not pump 50% of the traffic to nirvana.
Most of the magic happens in rn_mpath_reprio() which fiddles with the
routing table internals. The rest is more straight forward.
get it in deraadt@
|
|
part of a server. there's no configuration yet, and several other drawbacks,
but it can be hammered into shape. i haven't moved the code forward in a year,
and marco wants it in the tree to hack on.
|
|
callers (plus an upcomming one). OK henning@, dlg@
|
|
not only over routes of the same prio. This makes it possible to modify
rt_mpath_matchgate() so that if only gateway is specified without a specific
priority it will scan the full list and not only the first routes.
This is also needed for upcoming link state tracking.
|
|
not using TRUNK_PROTO_NONE and there are no member ports.
ok mpf@
|
|
addressing in IPv6 likes to do ifp = ifindex2ifnet[ifindex] without properly
checking if the ifindex is valid. As a side-effect this solves parts of
PR 5981. Debugged by jsing@. OK jsing@, deraadt@
|
|
creates the VLAN encapsulation from the tag stored in the mbuf
header. Idea from FreeBSD, input from claudio@ and canacar@.
Switch all hardware VLAN enabled drivers to the new function.
ok claudio@
|
|
ethernet header. This lets us actually process the incoming
LACP-Packets. It should now work with a lot more switches.
At least a Catalyst 3500 seems happy.
OK brad@
|
|
macros; ok otto
|
|
|
|
EVL_PRIOFTAG macro.
ok naddy@
|
|
OK claudio@ laurent@
|
|
before the protocol start routine is called so as to cover all protocols
with the same check.
ok mpf@
|
|
MPLS TTL is mapped into network layer one as the packet exits the LSP.
Just IPv4 support for now.
Added the relevant sysctls to enable this behaviour.
Input and OK claudio@
|
|
|
|
We could re-embed the scope-id before we do the route lookup,
but then we would just find the very interface we've received
the packet on anyway.
OK markus@, claudio@, henning@
|
|
OK: claudio@ henning@
|
|
|
|
active rather than just the primary being UP.
From FreeBSD
Ok mpf@
|
|
TRUNK_MAX_PORTS so nuke the test.
From FreeBSD
Ok mpf@
|
|
From FreeBSD
Ok mpf@
|
|
actually active in failover mode rather than all interfaces with a
link. This makes it clear if the master interface is in use or one
of the backup links.
From FreeBSD
Tested by jmc@
Ok mpf@
|
|
Strictly similar to mpls_input().
Input and OK claudio@, OK laurent@
|
|
pointer to get at the interface name by pointing to the correct struct.
|
|
ok dlg
|
|
#if INET6 => #ifdef INET6
|
|
ok canacar@ henning@
|
|
OK claudio@
|
|
tag in the header. Convert TX tagging in the drivers.
Help and ok brad@
|
|
where the tag is stored in the mbuf header.
* Make bridge(4) handle interfaces with and without hardware tag
support and forward packets inbetween.
Help and ok claudio@
|
|
promiscuous mode itself. Closes PR 5012. With claudio@.
ok claudio@, henning@
|
|
interfaces attached to different networks can use the same session id.
reported by gm_sjo <saqmaster at gmail dot com>
|
|
This should take care of the simpler ones (i.e., timeout values of
integer multiples of hz).
ok krw@, art@
|
|
Added mpe_input6 to manage also ipv6 packets insted of just ipv4 ones.
OK claudio@ laurent@
|
|
OK reyk@
|
|
there, fix some typos, and pass M_CANFAIL to all malloc() calls which use
M_WAITOK but are tested for failure.
test&ok brad@
|