Lines Matching full:tunnel
22 /* tunnel.c: an IP tunnel driver
24 The purpose of this driver is to provide an IP tunnel through
25 which you can tunnel network traffic transparently across subnets.
36 Made the tunnels use dev->name not tunnel: when error reporting.
42 Changed to tunnel to destination gateway in addition to the
43 tunnel's pointopoint address
51 /* Things I wish I had known when writing the tunnel driver:
55 contains the tunnel device that _we_ are.
201 /* no tunnel info required for ipip. */
207 /* no tunnel info required for mplsip. */
217 struct ip_tunnel *tunnel; in ipip_tunnel_rcv() local
221 tunnel = ip_tunnel_lookup(itn, skb->dev->ifindex, TUNNEL_NO_KEY, in ipip_tunnel_rcv()
223 if (tunnel) { in ipip_tunnel_rcv()
226 if (tunnel->parms.iph.protocol != ipproto && in ipip_tunnel_rcv()
227 tunnel->parms.iph.protocol != 0) in ipip_tunnel_rcv()
240 if (tunnel->collect_md) { in ipip_tunnel_rcv()
245 return ip_tunnel_rcv(tunnel, skb, tpi, tun_dst, log_ecn_error); in ipip_tunnel_rcv()
274 struct ip_tunnel *tunnel = netdev_priv(dev); in ipip_tunnel_xmit() local
275 const struct iphdr *tiph = &tunnel->parms.iph; in ipip_tunnel_xmit()
302 if (tunnel->collect_md) in ipip_tunnel_xmit()
379 struct ip_tunnel *tunnel = netdev_priv(dev); in ipip_tunnel_init() local
381 memcpy(dev->dev_addr, &tunnel->parms.iph.saddr, 4); in ipip_tunnel_init()
382 memcpy(dev->broadcast, &tunnel->parms.iph.daddr, 4); in ipip_tunnel_init()
384 tunnel->tun_hlen = 0; in ipip_tunnel_init()
385 tunnel->hlen = tunnel->tun_hlen + tunnel->encap_hlen; in ipip_tunnel_init()
565 struct ip_tunnel *tunnel = netdev_priv(dev); in ipip_fill_info() local
566 struct ip_tunnel_parm *parm = &tunnel->parms; in ipip_fill_info()
576 nla_put_u32(skb, IFLA_IPTUN_FWMARK, tunnel->fwmark)) in ipip_fill_info()
580 tunnel->encap.type) || in ipip_fill_info()
582 tunnel->encap.sport) || in ipip_fill_info()
584 tunnel->encap.dport) || in ipip_fill_info()
586 tunnel->encap.flags)) in ipip_fill_info()
589 if (tunnel->collect_md) in ipip_fill_info()
671 pr_info("%s: can't register tunnel\n", __func__); in ipip_init()
677 pr_info("%s: can't register tunnel\n", __func__); in ipip_init()
704 pr_info("%s: can't deregister tunnel\n", __func__); in ipip_fini()
707 pr_info("%s: can't deregister tunnel\n", __func__); in ipip_fini()