Re: em(4) losing link when if_bridge(4) addm/deletem are used



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 |

_______________________________________________
freebsd-stable@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscribe@xxxxxxxxxxx"



Relevant Pages