This helper resets the mac_header of an skb to a state where skb_transport_header_was_set() will return false.
This is intended to be used with packets received on ARPHRD_NONE devices without an Ethernet header in the inner packet. It allows skb_transport_header_was_set to be subsequently used to differentiate such packets from those with an Ethernet header. Signed-off-by: Simon Horman <simon.hor...@netronome.com> --- v11 * New patch --- include/linux/skbuff.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 638b0e004310..669d63b038f6 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h @@ -2170,6 +2170,11 @@ static inline void skb_reset_mac_header(struct sk_buff *skb) skb->mac_header = skb->data - skb->head; } +static inline void skb_unset_mac_header(struct sk_buff *skb) +{ + skb->mac_header = (typeof(skb->mac_header))~0U; +} + static inline void skb_set_mac_header(struct sk_buff *skb, const int offset) { skb_reset_mac_header(skb); -- 2.7.0.rc3.207.g0ac5344 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev