em(4) losing link when if_bridge(4) addm/deletem are used
Jeremy Chadwick
koitsu at FreeBSD.org
Wed Mar 28 22:30:46 UTC 2007
On Thu, Mar 29, 2007 at 09:37:09AM +1200, Andrew Thompson wrote:
> On Tue, Mar 27, 2007 at 08:33:27PM -0700, Jeremy Chadwick wrote:
> > In the midst of the madness, I found that when doing either of the
> > following commands...
> >
> > ifconfig bridge0 addm em1
> > ifconfig bridge0 deletem em1
> >
> > ...I see the entire em1 interface completely reset, bringing down link,
> > then up again shortly after. The logs on my switch also confirm this.
> >
> > For sake of comparison, the bge(4) driver does not behave this way.
> >
> > I am aware that if_bridge(4) enables promiscuous mode on whatever
> > interface is being added, ditto with -promisc on deletem. However, this
> > does not appear to be the cause of the problem, because I can do
> > "ifconfig em1 promisc" and "ifconfig em1 -promisc" without loss of link.
>
> The only other thing the bridge does to the interface when removing it
> is to reinstate IFCAP_TXCSUM, which is disabled when the interface is
> bridged. If you manually toggle this with ifconfig do you get the same
> result?
Bingo.
medusa# ifconfig em1 -txcsum
medusa# ifconfig em1
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=8<VLAN_MTU>
inet 10.0.0.2 netmask 0xffffff00 broadcast 10.0.0.255
ether 00:30:48:71:60:6b
media: Ethernet autoselect
status: no carrier
medusa# grep em1 /var/log/messages
Mar 28 15:29:34 medusa kernel: em1: link state changed to DOWN
Mar 28 15:29:36 medusa kernel: em1: link state changed to UP
--
| Jeremy Chadwick jdc at parodius.com |
| Parodius Networking http://www.parodius.com/ |
| UNIX Systems Administrator Mountain View, CA, USA |
| Making life hard for others since 1977. PGP: 4BD6C0CB |
More information about the freebsd-stable
mailing list