On Thu, 2 Dec 2004 20:10:58 -0800 "kingz" <jzhang@xxxxxxxxxxxxxxxxxxxxxx> wrote: > Hi All, > > For my issue, first thanks to ALL, I have some idea of it. > Also Thank Peter for his kind remind, I would become one good guy in > this list. > > Most mentioned MTU, but how I assure that the problem is just MTU, how I > debug it? > Here is my bridge configuration: > Internet > | > | > Gateway > | > | eth0 > Ethernet Bridge > | eth1 > | > H u b ( one normal hub or switch , no VLAN settings) > | \ > | \ > D-Link 802.1Q VLAN Switches (their uplink port-port 1 connected to > the upper hub are tagged, those ports connected with PCs are untagged). > > Bridge configuration: > Linux 2.4.26 ( kernel built in bridge function) > Eth0 RTL8139 driver > Eth1 Intel e100 NIC with eepro100 driver > > With VLAN tag, I met the hotmail login error, if without VLAN tag, all > are OK! > > Peter and Ben suggested me use intel NICs, I have one intel e100 NIC and > e1000 NIC, e1000 NIC is OK, but I cannt use the e100 card with the e100 > driver( from both Linux 2.4.26 and Intel site e100-3.2.3), so I only use > eepro100 driver. > How I can use the e100 with e100 driver? Can I use e100 and e1000 > together( use them as eth0,1)? > Any one can help me? There is some confusion about mtu and VLAN. Does mtu include VLAN tag or not? E100 allows the VLAN tag to be included (ie. actual_size > nic->netdev->mtu + VLAN_ETH_HLEN) but other drivers don't and the MTU reported to the bridge doesn't include the VLAN tag. You could change: int br_dev_queue_push_xmit(struct sk_buff *skb) { if (skb->len > skb->dev->mtu) kfree_skb(skb); to: int br_dev_queue_push_xmit(struct sk_buff *skb) { if (skb->len > skb->dev->mtu + 4) kfree_skb(skb);