No subject
Fri Jun 29 21:31:54 UTC 2012
1. Offloads could be registered for MPLS unicast and multicast. And the
registered MPLS GSO segmentation call-back could set and restore
skb->protocol before and after calling skb_mac_gso_segment().
The MPLS GSO segmentation callback could also calculate features
to pass to skb_mac_gso_segment() by some means.
2. Teach skb_network_protocol() about skb->inner_protocol.
And most likely teach netif_skb_features() about
skb->protocol == ETH_P_MPLS*.
I'm not entirely sure how to avoid overhead for non-MPLS packets using
this approach.
I believe the above could be achieved without using skb->encapsulation
in newly added code.
Your features proposal above not withstanding, in the current scheme of
things, it would seem that it would be appropriate to add SKB_GSO_GRE -
currently not supported by any hardware - and set skb_shinfo(skb)->gso_type
= SKB_GSO_GRE in the datapath. I think this should be sufficient to trigger
a call to skb_mac_gso_segment() in dev_hard_start_xmit().
More information about the dev
mailing list