MPLS_HLEN
return sizeof(struct udphdr) + MPLS_HLEN;
err = skb_cow_head(skb, MPLS_HLEN);
skb_push(skb, MPLS_HLEN);
memmove(skb_mac_header(skb) - MPLS_HLEN, skb_mac_header(skb),
skb_postpush_rcsum(skb, lse, MPLS_HLEN);
err = skb_ensure_writable(skb, mac_len + MPLS_HLEN);
skb_postpull_rcsum(skb, mpls_hdr(skb), MPLS_HLEN);
memmove(skb_mac_header(skb) + MPLS_HLEN, skb_mac_header(skb),
__skb_pull(skb, MPLS_HLEN);
err = skb_ensure_writable(skb, skb->mac_len + MPLS_HLEN);
if (!pskb_may_pull(skb, skb_network_offset(skb) + MPLS_HLEN))
if (unlikely(!mpls_hlen || mpls_hlen % MPLS_HLEN))
if (!pskb_may_pull(skb, skb_network_offset(skb) + MPLS_HLEN))
#define MAX_L2_LEN (VLAN_ETH_HLEN + 3 * MPLS_HLEN)
label_count * MPLS_HLEN);
memcpy(&lse, skb_inner_network_header(skb), MPLS_HLEN);
MPLS_HLEN);
label_count * MPLS_HLEN);
skb_network_offset(skb) + MPLS_HLEN))