I'm working on a driver for a 10GbE nic. I've just gotten to the point where I am verifying that 802.1q vlans work without hardware vlan offload. It seems like the netdev features flags (NETIF_F_SG|NETIF_F_IP_CSUM|NETIF_F_TSO) are not being inherited by the vlan device. This leads to very high CPU utilization, especially when running applications which use sendfile, since it forces data copies.
I have verified this is the problem by printing the vlan device's features from the end of register_vlan_device(). If copy real_dev's features to new_dev, then the performance problems disappear. This is especially confusing, since it appears ethtool's -K/-k commands fall through to the real device. So it appears like the ethX.VLAN dev has scatter-gather and checksum offload enabled, when actually it does not. Am I hitting a weird corner case in having a device which does checksum/sg/tso and not vlan offload? Will this magically go away if I implement some vlan hardware assist feature? Thank you, Drew - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html