bridge callbacks in if_ed.c?

Gleb Smirnoff glebius at freebsd.org
Sun Sep 5 16:01:04 PDT 2004


On Sun, Sep 05, 2004 at 02:20:36PM -0700, Luigi Rizzo wrote:
L> there are performance reasons to do this way -- grabbing
L> the entire packet is expensive because it is done via programmed
L> I/O, so the current code only grabs the header, does the
L> filtering, and grabs the rest of the packet only if
L> needed.

Well, thinking deeply I have to admit that percentage of
dropped packets can be high under normal operation. If we
are connected to non-swithced network (e.g. coax)
percentage of dropped packets is high...

But my position didn't change, I absolutely agree with Andre.
We can't keep this hack for the sake of very old and rare hardware.

L> I'd rather not apply the patch unless you can show that
L> the current code leads to incorrect behaviour.

I suspect that packets dropped by bridge_in() called from if_ed will
not be captured by bpf(4). This is incorrect.
System administrators expect bpf(4) to be at the lowest possible
layer, thinking "if packet came on wire - tcpdump must show it".

-- 
Totus tuus, Glebius.
GLEBIUS-RIPN GLEB-RIPE


More information about the freebsd-hackers mailing list