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.
204 /* no tunnel info required for ipip. */
210 /* no tunnel info required for mplsip. */
221 struct ip_tunnel *tunnel; in ipip_tunnel_rcv() local
227 tunnel = ip_tunnel_lookup(itn, skb->dev->ifindex, flags, iph->saddr, in ipip_tunnel_rcv()
229 if (tunnel) { in ipip_tunnel_rcv()
232 if (tunnel->parms.iph.protocol != ipproto && in ipip_tunnel_rcv()
233 tunnel->parms.iph.protocol != 0) in ipip_tunnel_rcv()
246 if (tunnel->collect_md) { in ipip_tunnel_rcv()
256 return ip_tunnel_rcv(tunnel, skb, tpi, tun_dst, log_ecn_error); in ipip_tunnel_rcv()
285 struct ip_tunnel *tunnel = netdev_priv(dev); in ipip_tunnel_xmit() local
286 const struct iphdr *tiph = &tunnel->parms.iph; in ipip_tunnel_xmit()
313 if (tunnel->collect_md) in ipip_tunnel_xmit()
391 struct ip_tunnel *tunnel = netdev_priv(dev); in ipip_tunnel_init() local
393 __dev_addr_set(dev, &tunnel->parms.iph.saddr, 4); in ipip_tunnel_init()
394 memcpy(dev->broadcast, &tunnel->parms.iph.daddr, 4); in ipip_tunnel_init()
396 tunnel->tun_hlen = 0; in ipip_tunnel_init()
397 tunnel->hlen = tunnel->tun_hlen + tunnel->encap_hlen; in ipip_tunnel_init()
524 struct ip_tunnel *tunnel = netdev_priv(dev); in ipip_fill_info() local
525 struct ip_tunnel_parm_kern *parm = &tunnel->parms; in ipip_fill_info()
535 nla_put_u32(skb, IFLA_IPTUN_FWMARK, tunnel->fwmark)) in ipip_fill_info()
539 tunnel->encap.type) || in ipip_fill_info()
541 tunnel->encap.sport) || in ipip_fill_info()
543 tunnel->encap.dport) || in ipip_fill_info()
545 tunnel->encap.flags)) in ipip_fill_info()
548 if (tunnel->collect_md) in ipip_fill_info()
632 pr_info("%s: can't register tunnel\n", __func__); in ipip_init()
638 pr_info("%s: can't register tunnel\n", __func__); in ipip_init()
665 pr_info("%s: can't deregister tunnel\n", __func__); in ipip_fini()
668 pr_info("%s: can't deregister tunnel\n", __func__); in ipip_fini()