IPPROTO_MPLS
case IPPROTO_MPLS:
if (ipproto == IPPROTO_MPLS)
return ipip_tunnel_rcv(skb, IPPROTO_MPLS);
ipproto = IPPROTO_MPLS;
case IPPROTO_MPLS:
if (proto != IPPROTO_IPIP && proto != IPPROTO_MPLS && proto != 0)
if (inet_add_protocol(&tunnelmpls4_protocol, IPPROTO_MPLS)) {
inet_del_protocol(&tunnelmpls4_protocol, IPPROTO_MPLS);
if (inet_del_protocol(&tunnelmpls4_protocol, IPPROTO_MPLS))
ipproto = IPPROTO_MPLS;
err = ip6_tnl_err(skb, IPPROTO_MPLS, opt, &rel_type, &rel_code,
return ipxip6_rcv(skb, IPPROTO_MPLS, &tpi_mpls,
sit_tunnel_xmit__(skb, dev, IPPROTO_MPLS);
ipproto == IPPROTO_MPLS ||
if (ipproto == IPPROTO_MPLS)
return sit_tunnel_rcv(skb, IPPROTO_MPLS);
inet6_add_protocol(&tunnelmpls6_protocol, IPPROTO_MPLS)) {
inet6_del_protocol(&tunnelmpls6_protocol, IPPROTO_MPLS);
inet6_del_protocol(&tunnelmpls6_protocol, IPPROTO_MPLS))