Age | Commit message (Collapse) | Author |
|
|
|
after discussions with beck deraadt kettenis.
|
|
the various bpf_mtap_* are very similiar, they differ in what (and to some
extent how) they prepend something, and what copy function they pass to
bpf_catchpacket.
use an internal _bpf_mtap as "backend" for bpf_mtap and friends.
extend bpf_mtap_hdr so that it covers all common cases:
if dlen is 0, nothing gets prepended.
copy function can be given, if NULL the default bpf_mcopy is used.
adjust the existing bpf_mtap_hdr users to pass a NULL ptr for the copy fn.
re-implement bpf_mtap_af as simple wrapper for bpf_mtap_hdr.
re-implement bpf_mtap_ether using bpf_map_hdr
re-implement bpf_mtap_pflog as trivial bpf_mtap_hdr wrapper
ok bluhm benno
|
|
ok mikeb@
|
|
ok deraadt@
|
|
While here add a comment explaining detach hooks' order of execution when
destroying/detaching an interface.
|
|
Reported by naddy@
|
|
structure rather than doing various M_WAITOK allocations during
the *attach() functions, we always rely on them anyway.
ok mikeb@, uebayasi@
|
|
jumbo/baby-jumbo frames. To avoid problems with mismatches between trunkports,
any additional ports must have the same MTU as already set on the trunk(4).
Based on changes made in FreeBSD. Tested by myself and jj@, ok reyk@
|
|
array indexed by interface numbers, add a new field to the interface
descriptor pointing to it.
claudio@ and todd@ like it, ok mikeb@
|
|
|
|
the mbuf it just sent on the previous interface. this is bad because the
previous interface could have modified the mbuf chain, which can make the
subsequent m_copym()s panic.
this copies the dance that rtsock.c does for broadcasting mbufs which
copies the mbuf before transmit, except for the last interface which it
handles outside the loop.
tested by halex@ who verified it fixes his panic.
ok claudio@ deraadt@
|
|
tr_linkstate() was not initialized in trunk_rr_attach(), and
tr_init() and tr_stop() were missing in trunk_lb_attach().
Fixes crash triggered by changing trunkproto, reported by Anders
Berggren on bugs@.
ok mpf henning
|
|
broadcast mode.
ok blambert@ mikeb@
|
|
no change in .o
ok claudio
|
|
to the new MAC. But subsequently added ports were still being assigned the
old MAC address because it was copied from the wrong place. Give newly added
trunk ports the current MAC of the master port, rather than the saved MAC of
the master port. The saved MAC should only be used to restore the original
MAC address of the interface when it is removed from the trunk.
ok claudio@
|
|
|
|
sysctl.h was reliant on this particular include, and many drivers included
sysctl.h unnecessarily. remove sysctl.h or add proc.h as needed.
ok deraadt
|
|
ok stsp
|
|
this prevents the ultimate length of the queue of the underlying interface
from being artificially inflated while hte vlan/trunk queue is filled and
then dumped wholesale on the underlying interface, which will dump its
massive queue wholesale on the chip.
tx mitigation is only triggered on real interfaces now (which is where the
cost is)
ok beck@ original diff ok kjc@ henning@
|
|
|
|
below splnet() is a good recipe for doom.
OK henning, reyk, mpf
|
|
API function directly to lacp_input() to simplify the code path.
ok mpf@
|
|
Changes in those revision limited the send queue to one slot.
This breaks NFS over vlan(4) has discovered by sthen@.
"just plain back it out." deraadt@
|
|
interfaces down to the queue on the physical interface immediately.
this avoids having the tx mitigation code wasting cpu time dicking around
with simply shuffling packets off virtual interface queues and lets it
do its job of ammortising the cost of calling a real interfaces start
routine.
it also prevents an artificial inflation of the physical interfaces queue
length where packets could hide on the virtual interfaces queues during
softnet before being dumped en masse onto the hardware. this will smooth
out the rate at which packets are submitted to the hardware.
kjc@ says this has no impact on altq. ya henning@
|
|
|
|
hash the VLAN priority; ok henning@
|
|
ok mpf@ naddy@
|
|
to the loadbalance code rename trunk_lb_gethdr() to just trunk_gethr().
ok mpf@
|
|
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@
|
|
not using TRUNK_PROTO_NONE and there are no member ports.
ok mpf@
|
|
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@
|
|
before the protocol start routine is called so as to cover all protocols
with the same check.
ok mpf@
|
|
|
|
|
|
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@
|
|
Move calling ether_ioctl() from the top of the ioctl function, which
at the moment does absolutely nothing, to the default switch case.
Thus allowing drivers to define their own ioctl handlers and then
falling back on ether_ioctl(). The only functional change this results
in at the moment is having all Ethernet drivers returning the proper
errno of ENOTTY instead of EINVAL/ENXIO when encountering unknown
ioctl's.
Shrinks the i386 kernels by..
RAMDISK - 1024 bytes
RAMDISKB - 1120 bytes
RAMDISKC - 832 bytes
Tested by martin@/jsing@/todd@/brad@
Build tested on almost all archs by todd@/brad@
ok jsing@
|
|
fix potential use of uninitialized value in trunk_port_ioctl() function.
Found by LLVM/Clang Static Analyzer.
ok mpf@ henning@
|
|
ok brad@, mpf@, henning@, reyk@
|
|
- don't use in-kernel IFMEDIA ioctls in lacp and remove two KASSERTs
that caused reliable panics - the lacp key can be locally assigned and
we don't need to query the media subtype here.
- unbreak failover/loadbalance/broadcast status handling.
Reported by brad@
ok deraadt@
|
|
used w/out any trunkports. Patch from Dmitri Alenitchev.
OK reyk@
|
|
Implementation from NetBSD. Ported via FreeBSD's version in trunk^Wlagg(4).
This is still work in progress. Tested with a HP ProCurve 3500.
OK reyk@
|
|
This makes it easier to add trunk protocols that consume some packets.
Add a special case for the failover protocol, to prevent shoving
duplicates to bpf. (Not beautiful, but it has to do for the moment).
OK reyk@, claudio@
|
|
from ether_input() into trunk_input() where it can be handled in a smarter way.
OK claudio@ and reyk@ on an earlier version.
|
|
full mbuf chain is being free'd.
ok reyk@
|
|
calls to ifp->if_start to if_start(). these are the obviously right cases
where we can do that, the less obvious ones may follow as theyre figured
out.
deraadt@ said to go for it
|
|
ports.
ok reyk@ dlg@
|