kern/52966: em0 not in promisc mode when bridging.

Alexander Langer alex at big.endian.de
Thu Jun 5 07:30:14 PDT 2003


>Number:         52966
>Category:       kern
>Synopsis:       em0 not in promisc mode when bridging.
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Jun 05 07:30:10 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator:     Alexander Langer
>Release:        FreeBSD 4.8-RELEASE/STABLE
>Organization:
bla
>Environment:

>Description:

(Note: the same worked flawlessly with two fxp cards, so it's defenitely
an em driver problem)

With two 82540EM cards on em0/em1, enabling the bridge only seems to
set the em1 into promisc mode.

The em0 DOES show the promisc flag on "ifconfig", but it's actually not the
case (no packets but broadcasts showing off in tcpdump, briding
does not work).
Doing manual "ifconfig em0 promisc" fixes this.

Doing manual "em0 -promisc" then does actually -promisc the driver, but
not the flag in the ifconfig output.
Doing "ifconfig em0 down" does down the card, but it's still listed
"up" in ifconfig.

Disabling the bridge only does remove em1 from promisc mode again:
em0 is still listed as "promisc", em1 is not.

As both "ifconfig up/down" and "ifconfig promisc/-promisc" seem to have effect
on em1 AND em0, this seems to be ok.
But since em0 is still listed UP though being DOWN and PROMISC though
defenitely NOT in promisc mode, I have the feeling that is a bug
in the status register if you have 2 em cards in a box.

And this is probably also the reason why briding does not work until
manually set to promisc mode - the kernel thinks em0 is already in
promisc mode, thus only sets em1 to promisc mode.



>How-To-Repeat:

see above

>Fix:

no fix


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list