• Home
  • Raw
  • Download

Lines Matching refs:tunnel

496 	struct ip6_tnl *tunnel;  in ip6gre_rcv()  local
499 tunnel = ip6gre_tunnel_lookup(skb->dev, in ip6gre_rcv()
502 if (tunnel) { in ip6gre_rcv()
503 if (tunnel->parms.collect_md) { in ip6gre_rcv()
515 ip6_tnl_rcv(tunnel, skb, tpi, tun_dst, log_ecn_error); in ip6gre_rcv()
517 ip6_tnl_rcv(tunnel, skb, tpi, NULL, log_ecn_error); in ip6gre_rcv()
533 struct ip6_tnl *tunnel; in ip6erspan_rcv() local
540 tunnel = ip6gre_tunnel_lookup(skb->dev, in ip6erspan_rcv()
543 if (tunnel) { in ip6erspan_rcv()
554 if (tunnel->parms.collect_md) { in ip6erspan_rcv()
588 ip6_tnl_rcv(tunnel, skb, tpi, tun_dst, log_ecn_error); in ip6erspan_rcv()
591 ip6_tnl_rcv(tunnel, skb, tpi, NULL, log_ecn_error); in ip6erspan_rcv()
725 struct ip6_tnl *tunnel = netdev_priv(dev); in __gre6_xmit() local
735 fl6->daddr = tunnel->parms.raddr; in __gre6_xmit()
740 if (tunnel->parms.collect_md) { in __gre6_xmit()
763 if (skb_cow_head(skb, dev->needed_headroom ?: tun_hlen + tunnel->encap_hlen)) in __gre6_xmit()
769 (flags & TUNNEL_SEQ) ? htonl(atomic_fetch_inc(&tunnel->o_seqno)) in __gre6_xmit()
773 if (skb_cow_head(skb, dev->needed_headroom ?: tunnel->hlen)) in __gre6_xmit()
776 flags = tunnel->parms.o_flags; in __gre6_xmit()
778 gre_build_header(skb, tunnel->tun_hlen, flags, in __gre6_xmit()
779 protocol, tunnel->parms.o_key, in __gre6_xmit()
780 (flags & TUNNEL_SEQ) ? htonl(atomic_fetch_inc(&tunnel->o_seqno)) in __gre6_xmit()
1175 static int ip6gre_calc_hlen(struct ip6_tnl *tunnel) in ip6gre_calc_hlen() argument
1179 tunnel->tun_hlen = gre_calc_hlen(tunnel->parms.o_flags); in ip6gre_calc_hlen()
1180 tunnel->hlen = tunnel->tun_hlen + tunnel->encap_hlen; in ip6gre_calc_hlen()
1182 t_hlen = tunnel->hlen + sizeof(struct ipv6hdr); in ip6gre_calc_hlen()
1184 if (tunnel->dev->header_ops) in ip6gre_calc_hlen()
1185 tunnel->dev->hard_header_len = LL_MAX_HEADER + t_hlen; in ip6gre_calc_hlen()
1187 tunnel->dev->needed_headroom = LL_MAX_HEADER + t_hlen; in ip6gre_calc_hlen()
1481 struct ip6_tnl *tunnel; in ip6gre_tunnel_init_common() local
1485 tunnel = netdev_priv(dev); in ip6gre_tunnel_init_common()
1487 tunnel->dev = dev; in ip6gre_tunnel_init_common()
1488 tunnel->net = dev_net(dev); in ip6gre_tunnel_init_common()
1489 strcpy(tunnel->parms.name, dev->name); in ip6gre_tunnel_init_common()
1495 ret = dst_cache_init(&tunnel->dst_cache, GFP_KERNEL); in ip6gre_tunnel_init_common()
1499 ret = gro_cells_init(&tunnel->gro_cells, dev); in ip6gre_tunnel_init_common()
1503 t_hlen = ip6gre_calc_hlen(tunnel); in ip6gre_tunnel_init_common()
1507 if (!(tunnel->parms.flags & IP6_TNL_F_IGN_ENCAP_LIMIT)) in ip6gre_tunnel_init_common()
1510 if (tunnel->parms.collect_md) { in ip6gre_tunnel_init_common()
1519 dst_cache_destroy(&tunnel->dst_cache); in ip6gre_tunnel_init_common()
1528 struct ip6_tnl *tunnel; in ip6gre_tunnel_init() local
1535 tunnel = netdev_priv(dev); in ip6gre_tunnel_init()
1537 if (tunnel->parms.collect_md) in ip6gre_tunnel_init()
1540 memcpy(dev->dev_addr, &tunnel->parms.laddr, sizeof(struct in6_addr)); in ip6gre_tunnel_init()
1541 memcpy(dev->broadcast, &tunnel->parms.raddr, sizeof(struct in6_addr)); in ip6gre_tunnel_init()
1543 if (ipv6_addr_any(&tunnel->parms.raddr)) in ip6gre_tunnel_init()
1551 struct ip6_tnl *tunnel = netdev_priv(dev); in ip6gre_fb_tunnel_init() local
1553 tunnel->dev = dev; in ip6gre_fb_tunnel_init()
1554 tunnel->net = dev_net(dev); in ip6gre_fb_tunnel_init()
1555 strcpy(tunnel->parms.name, dev->name); in ip6gre_fb_tunnel_init()
1557 tunnel->hlen = sizeof(struct ipv6hdr) + 4; in ip6gre_fb_tunnel_init()
1860 static int ip6erspan_calc_hlen(struct ip6_tnl *tunnel) in ip6erspan_calc_hlen() argument
1864 tunnel->tun_hlen = 8; in ip6erspan_calc_hlen()
1865 tunnel->hlen = tunnel->tun_hlen + tunnel->encap_hlen + in ip6erspan_calc_hlen()
1866 erspan_hdr_len(tunnel->parms.erspan_ver); in ip6erspan_calc_hlen()
1868 t_hlen = tunnel->hlen + sizeof(struct ipv6hdr); in ip6erspan_calc_hlen()
1869 tunnel->dev->needed_headroom = LL_MAX_HEADER + t_hlen; in ip6erspan_calc_hlen()
1875 struct ip6_tnl *tunnel; in ip6erspan_tap_init() local
1879 tunnel = netdev_priv(dev); in ip6erspan_tap_init()
1881 tunnel->dev = dev; in ip6erspan_tap_init()
1882 tunnel->net = dev_net(dev); in ip6erspan_tap_init()
1883 strcpy(tunnel->parms.name, dev->name); in ip6erspan_tap_init()
1889 ret = dst_cache_init(&tunnel->dst_cache, GFP_KERNEL); in ip6erspan_tap_init()
1893 ret = gro_cells_init(&tunnel->gro_cells, dev); in ip6erspan_tap_init()
1897 t_hlen = ip6erspan_calc_hlen(tunnel); in ip6erspan_tap_init()
1901 if (!(tunnel->parms.flags & IP6_TNL_F_IGN_ENCAP_LIMIT)) in ip6erspan_tap_init()
1905 ip6erspan_tnl_link_config(tunnel, 1); in ip6erspan_tap_init()
1911 dst_cache_destroy(&tunnel->dst_cache); in ip6erspan_tap_init()