I am getting many (>10%) runt frames on a cisco switch on the port that is connected to a linux router running with vlans. Despite the reported errors, there are no observed problems with the network. I have two other servers, both using vlans, plugged into the same switch with no reported problems. I have tried the linux router on other ports on the cisco switch and the fault migrates with the change of port. The Ethernet driver is on the router 'via-rhine', and I have observed the following relevant bits in the module (drivers/net/via-rhine.c): "The chip does not pad to minimum transmit length." And: " if (skb->len < ETH_ZLEN) { skb = skb_padto(skb, ETH_ZLEN); if (skb == NULL) return 0; } " This says to me that the driver is only checking for and padding frames < 60 bytes long. But isn't the minimum length of a vlan tagged frame 64 bytes? I assume this because at some point the frame may be sent out on a port without the vlan tag and will need to maintain the minimum frame size after the vlan header has been removed... So is there a problem here? If so, I assume that to fix it I would detect a vlan frame (proto == 0x8100) and pad to 64 bytes instead... Thanks James