andrei radulescu-banu wrote: > The consensus seems to be that skb's need to carry vlan accelerated tags in > their cb's, on rx as well as tx. VLAN_TX_SKB_CB() is perfect for that.
No its not. Its only legal to use while something has ownership of the skb. Between VLAN devices and real devices qdiscs are free to use it. >>[Patrick] On the TX path, it could simply use the CB, but this is actually > > also wrong (for both macvlan and real devices) since qdiscs have > ownership of the skb in between, and at least netem *does* modify > the CB, breaking VLAN. > > Thanks for pointing that out... It appears to me that qdisc/netem already > breaks the vlan implementation, in the path > > vlan_dev_hwaccel_hard_start_xmit(): sets accelerated vlan tag in skb->cb, > calls > dev_queue_xmit(): may pass skb to qdisc/netem, which may mangle skb->cb > before calling > dev->hard_start_xmit(), resulting in a tx frame without its vlan tag. > > So netem needs to look for hw accelerated vlan metadata and insert it in the > skb... Don't see any other way around this. No, we might want to put other data in the cb in the future. VLAN should follow the rules instead. - 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