Lines Matching refs:tunnel

258 	struct ip_tunnel *tunnel;  in erspan_rcv()  local
270 tunnel = ip_tunnel_lookup(itn, skb->dev->ifindex, in erspan_rcv()
274 if (tunnel) { in erspan_rcv()
285 if (tunnel->collect_md) { in erspan_rcv()
321 ip_tunnel_rcv(tunnel, skb, tpi, tun_dst, log_ecn_error); in erspan_rcv()
336 struct ip_tunnel *tunnel; in __ipgre_rcv() local
339 tunnel = ip_tunnel_lookup(itn, skb->dev->ifindex, tpi->flags, in __ipgre_rcv()
342 if (tunnel) { in __ipgre_rcv()
347 if (tunnel->dev->type != ARPHRD_NONE) in __ipgre_rcv()
351 if (tunnel->collect_md) { in __ipgre_rcv()
362 ip_tunnel_rcv(tunnel, skb, tpi, tun_dst, log_ecn_error); in __ipgre_rcv()
434 struct ip_tunnel *tunnel = netdev_priv(dev); in __gre_xmit() local
436 if (tunnel->parms.o_flags & TUNNEL_SEQ) in __gre_xmit()
437 tunnel->o_seqno++; in __gre_xmit()
440 gre_build_header(skb, tunnel->tun_hlen, in __gre_xmit()
441 tunnel->parms.o_flags, proto, tunnel->parms.o_key, in __gre_xmit()
442 htonl(tunnel->o_seqno)); in __gre_xmit()
455 struct ip_tunnel *tunnel = netdev_priv(dev); in gre_fb_xmit() local
480 (flags & TUNNEL_SEQ) ? htonl(tunnel->o_seqno++) : 0); in gre_fb_xmit()
493 struct ip_tunnel *tunnel = netdev_priv(dev); in erspan_fb_xmit() local
557 proto, 0, htonl(tunnel->o_seqno++)); in erspan_fb_xmit()
594 struct ip_tunnel *tunnel = netdev_priv(dev); in ipgre_xmit() local
600 if (tunnel->collect_md) { in ipgre_xmit()
608 (tunnel->hlen + sizeof(struct iphdr)))) in ipgre_xmit()
616 skb_pull(skb, tunnel->hlen + sizeof(struct iphdr)); in ipgre_xmit()
622 tnl_params = &tunnel->parms.iph; in ipgre_xmit()
625 if (gre_handle_offloads(skb, !!(tunnel->parms.o_flags & TUNNEL_CSUM))) in ipgre_xmit()
640 struct ip_tunnel *tunnel = netdev_priv(dev); in erspan_xmit() local
647 if (tunnel->collect_md) { in erspan_xmit()
664 if (tunnel->erspan_ver == 1) { in erspan_xmit()
665 erspan_build_header(skb, ntohl(tunnel->parms.o_key), in erspan_xmit()
666 tunnel->index, in erspan_xmit()
669 } else if (tunnel->erspan_ver == 2) { in erspan_xmit()
670 erspan_build_header_v2(skb, ntohl(tunnel->parms.o_key), in erspan_xmit()
671 tunnel->dir, tunnel->hwid, in erspan_xmit()
678 tunnel->parms.o_flags &= ~TUNNEL_KEY; in erspan_xmit()
679 __gre_xmit(skb, dev, &tunnel->parms.iph, proto); in erspan_xmit()
691 struct ip_tunnel *tunnel = netdev_priv(dev); in gre_tap_xmit() local
696 if (tunnel->collect_md) { in gre_tap_xmit()
701 if (gre_handle_offloads(skb, !!(tunnel->parms.o_flags & TUNNEL_CSUM))) in gre_tap_xmit()
707 __gre_xmit(skb, dev, &tunnel->parms.iph, htons(ETH_P_TEB)); in gre_tap_xmit()
718 struct ip_tunnel *tunnel = netdev_priv(dev); in ipgre_link_update() local
721 len = tunnel->tun_hlen; in ipgre_link_update()
722 tunnel->tun_hlen = gre_calc_hlen(tunnel->parms.o_flags); in ipgre_link_update()
723 len = tunnel->tun_hlen - len; in ipgre_link_update()
724 tunnel->hlen = tunnel->hlen + len; in ipgre_link_update()
730 if (!(tunnel->parms.o_flags & TUNNEL_SEQ)) { in ipgre_link_update()
731 if (!(tunnel->parms.o_flags & TUNNEL_CSUM) || in ipgre_link_update()
732 tunnel->encap.type == TUNNEL_ENCAP_NONE) { in ipgre_link_update()
922 struct ip_tunnel *tunnel; in __gre_tunnel_init() local
924 tunnel = netdev_priv(dev); in __gre_tunnel_init()
925 tunnel->tun_hlen = gre_calc_hlen(tunnel->parms.o_flags); in __gre_tunnel_init()
926 tunnel->parms.iph.protocol = IPPROTO_GRE; in __gre_tunnel_init()
928 tunnel->hlen = tunnel->tun_hlen + tunnel->encap_hlen; in __gre_tunnel_init()
933 if (!(tunnel->parms.o_flags & TUNNEL_SEQ)) { in __gre_tunnel_init()
938 if (!(tunnel->parms.o_flags & TUNNEL_CSUM) || in __gre_tunnel_init()
939 (tunnel->encap.type == TUNNEL_ENCAP_NONE)) { in __gre_tunnel_init()
953 struct ip_tunnel *tunnel = netdev_priv(dev); in ipgre_tunnel_init() local
954 struct iphdr *iph = &tunnel->parms.iph; in ipgre_tunnel_init()
965 if (iph->daddr && !tunnel->collect_md) { in ipgre_tunnel_init()
974 } else if (!tunnel->collect_md) { in ipgre_tunnel_init()
1238 struct ip_tunnel *tunnel = netdev_priv(dev); in erspan_tunnel_init() local
1240 tunnel->tun_hlen = 8; in erspan_tunnel_init()
1241 tunnel->parms.iph.protocol = IPPROTO_GRE; in erspan_tunnel_init()
1242 tunnel->hlen = tunnel->tun_hlen + tunnel->encap_hlen + in erspan_tunnel_init()
1243 erspan_hdr_len(tunnel->erspan_ver); in erspan_tunnel_init()