Lines Matching full:tunnel

75    - traceroute does not work. I planned to relay ICMP from tunnel,
93 (branches, that exceed pmtu are pruned) and tunnel mtu
269 struct ip_tunnel *tunnel; in erspan_rcv() local
279 tunnel = ip_tunnel_lookup(itn, skb->dev->ifindex, in erspan_rcv()
285 tunnel = ip_tunnel_lookup(itn, skb->dev->ifindex, in erspan_rcv()
290 if (tunnel) { in erspan_rcv()
305 if (tunnel->collect_md) { in erspan_rcv()
341 ip_tunnel_rcv(tunnel, skb, tpi, tun_dst, log_ecn_error); in erspan_rcv()
356 struct ip_tunnel *tunnel; in __ipgre_rcv() local
359 tunnel = ip_tunnel_lookup(itn, skb->dev->ifindex, tpi->flags, in __ipgre_rcv()
362 if (tunnel) { in __ipgre_rcv()
372 if (tunnel->dev->header_ops == &ipgre_header_ops) in __ipgre_rcv()
377 tnl_params = &tunnel->parms.iph; in __ipgre_rcv()
378 if (tunnel->collect_md || tnl_params->daddr == 0) { in __ipgre_rcv()
389 ip_tunnel_rcv(tunnel, skb, tpi, tun_dst, log_ecn_error); in __ipgre_rcv()
461 struct ip_tunnel *tunnel = netdev_priv(dev); in __gre_xmit() local
462 __be16 flags = tunnel->parms.o_flags; in __gre_xmit()
465 gre_build_header(skb, tunnel->tun_hlen, in __gre_xmit()
466 flags, proto, tunnel->parms.o_key, in __gre_xmit()
467 (flags & TUNNEL_SEQ) ? htonl(atomic_fetch_inc(&tunnel->o_seqno)) : 0); in __gre_xmit()
480 struct ip_tunnel *tunnel = netdev_priv(dev); in gre_fb_xmit() local
497 /* Push Tunnel header. */ in gre_fb_xmit()
505 (flags & TUNNEL_SEQ) ? htonl(atomic_fetch_inc(&tunnel->o_seqno)) : 0); in gre_fb_xmit()
518 struct ip_tunnel *tunnel = netdev_priv(dev); in erspan_fb_xmit() local
587 proto, 0, htonl(atomic_fetch_inc(&tunnel->o_seqno))); in erspan_fb_xmit()
625 struct ip_tunnel *tunnel = netdev_priv(dev); in ipgre_xmit() local
631 if (tunnel->collect_md) { in ipgre_xmit()
645 skb_pull(skb, tunnel->hlen + sizeof(struct iphdr)); in ipgre_xmit()
655 tnl_params = &tunnel->parms.iph; in ipgre_xmit()
658 if (gre_handle_offloads(skb, !!(tunnel->parms.o_flags & TUNNEL_CSUM))) in ipgre_xmit()
673 struct ip_tunnel *tunnel = netdev_priv(dev); in erspan_xmit() local
680 if (tunnel->collect_md) { in erspan_xmit()
697 if (tunnel->erspan_ver == 0) { in erspan_xmit()
699 tunnel->parms.o_flags &= ~TUNNEL_SEQ; in erspan_xmit()
700 } else if (tunnel->erspan_ver == 1) { in erspan_xmit()
701 erspan_build_header(skb, ntohl(tunnel->parms.o_key), in erspan_xmit()
702 tunnel->index, in erspan_xmit()
705 } else if (tunnel->erspan_ver == 2) { in erspan_xmit()
706 erspan_build_header_v2(skb, ntohl(tunnel->parms.o_key), in erspan_xmit()
707 tunnel->dir, tunnel->hwid, in erspan_xmit()
714 tunnel->parms.o_flags &= ~TUNNEL_KEY; in erspan_xmit()
715 __gre_xmit(skb, dev, &tunnel->parms.iph, proto); in erspan_xmit()
727 struct ip_tunnel *tunnel = netdev_priv(dev); in gre_tap_xmit() local
732 if (tunnel->collect_md) { in gre_tap_xmit()
737 if (gre_handle_offloads(skb, !!(tunnel->parms.o_flags & TUNNEL_CSUM))) in gre_tap_xmit()
743 __gre_xmit(skb, dev, &tunnel->parms.iph, htons(ETH_P_TEB)); in gre_tap_xmit()
754 struct ip_tunnel *tunnel = netdev_priv(dev); in ipgre_link_update() local
758 len = tunnel->tun_hlen; in ipgre_link_update()
759 tunnel->tun_hlen = gre_calc_hlen(tunnel->parms.o_flags); in ipgre_link_update()
760 len = tunnel->tun_hlen - len; in ipgre_link_update()
761 tunnel->hlen = tunnel->hlen + len; in ipgre_link_update()
771 flags = tunnel->parms.o_flags; in ipgre_link_update()
774 (flags & TUNNEL_CSUM && tunnel->encap.type != TUNNEL_ENCAP_NONE)) { in ipgre_link_update()
834 ip tunnel add Universe mode gre remote 224.66.66.66 local <Your_real_addr> ttl 255
952 struct ip_tunnel *tunnel; in __gre_tunnel_init() local
955 tunnel = netdev_priv(dev); in __gre_tunnel_init()
956 tunnel->tun_hlen = gre_calc_hlen(tunnel->parms.o_flags); in __gre_tunnel_init()
957 tunnel->parms.iph.protocol = IPPROTO_GRE; in __gre_tunnel_init()
959 tunnel->hlen = tunnel->tun_hlen + tunnel->encap_hlen; in __gre_tunnel_init()
960 dev->needed_headroom = tunnel->hlen + sizeof(tunnel->parms.iph); in __gre_tunnel_init()
965 flags = tunnel->parms.o_flags; in __gre_tunnel_init()
972 if (flags & TUNNEL_CSUM && tunnel->encap.type != TUNNEL_ENCAP_NONE) in __gre_tunnel_init()
981 struct ip_tunnel *tunnel = netdev_priv(dev); in ipgre_tunnel_init() local
982 struct iphdr *iph = &tunnel->parms.iph; in ipgre_tunnel_init()
993 if (iph->daddr && !tunnel->collect_md) { in ipgre_tunnel_init()
1000 dev->hard_header_len = tunnel->hlen + sizeof(*iph); in ipgre_tunnel_init()
1004 } else if (!tunnel->collect_md) { in ipgre_tunnel_init()
1006 dev->hard_header_len = tunnel->hlen + sizeof(*iph); in ipgre_tunnel_init()
1292 struct ip_tunnel *tunnel = netdev_priv(dev); in erspan_tunnel_init() local
1294 if (tunnel->erspan_ver == 0) in erspan_tunnel_init()
1295 tunnel->tun_hlen = 4; /* 4-byte GRE hdr. */ in erspan_tunnel_init()
1297 tunnel->tun_hlen = 8; /* 8-byte GRE hdr. */ in erspan_tunnel_init()
1299 tunnel->parms.iph.protocol = IPPROTO_GRE; in erspan_tunnel_init()
1300 tunnel->hlen = tunnel->tun_hlen + tunnel->encap_hlen + in erspan_tunnel_init()
1301 erspan_hdr_len(tunnel->erspan_ver); in erspan_tunnel_init()