diff options
| author | David S. Miller <davem@davemloft.net> | 2016-10-03 09:00:29 +0300 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2016-10-03 09:00:29 +0300 |
| commit | 32986b554a5bc673e3aeaded7acbe84ca362b3f3 (patch) | |
| tree | c93484e9f3001d3afb4c030eb632d2994b6b8b84 /include | |
| parent | ab580705693d5af79663efa504a72248700766fc (diff) | |
| parent | 85de4a2101acb85c3b1dde465e84596ccca99f2c (diff) | |
| download | linux-32986b554a5bc673e3aeaded7acbe84ca362b3f3.tar.xz | |
Merge branch 'ovs-mpls'
Jiri Benc says:
====================
openvswitch: mpls fix and clean up
Convert to the new mpls skb layout the last remaining place in openvswitch,
forgotten on the mpls GSO rework. The GSO rework also allows for some
cleanup in the third patch.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
| -rw-r--r-- | include/net/mpls.h | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/include/net/mpls.h b/include/net/mpls.h index 5b3b5addfb08..1dbc669b770e 100644 --- a/include/net/mpls.h +++ b/include/net/mpls.h @@ -19,21 +19,18 @@ #define MPLS_HLEN 4 +struct mpls_shim_hdr { + __be32 label_stack_entry; +}; + static inline bool eth_p_mpls(__be16 eth_type) { return eth_type == htons(ETH_P_MPLS_UC) || eth_type == htons(ETH_P_MPLS_MC); } -/* - * For non-MPLS skbs this will correspond to the network header. - * For MPLS skbs it will be before the network_header as the MPLS - * label stack lies between the end of the mac header and the network - * header. That is, for MPLS skbs the end of the mac header - * is the top of the MPLS label stack. - */ -static inline unsigned char *skb_mpls_header(struct sk_buff *skb) +static inline struct mpls_shim_hdr *mpls_hdr(const struct sk_buff *skb) { - return skb_mac_header(skb) + skb->mac_len; + return (struct mpls_shim_hdr *)skb_network_header(skb); } #endif |
