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()
521 struct ip_tunnel *tunnel = netdev_priv(dev); in ipip_fill_info() local
522 struct ip_tunnel_parm_kern *parm = &tunnel->parms; in ipip_fill_info()
532 nla_put_u32(skb, IFLA_IPTUN_FWMARK, tunnel->fwmark)) in ipip_fill_info()
536 tunnel->encap.type) || in ipip_fill_info()
538 tunnel->encap.sport) || in ipip_fill_info()
540 tunnel->encap.dport) || in ipip_fill_info()
542 tunnel->encap.flags)) in ipip_fill_info()
545 if (tunnel->collect_md) in ipip_fill_info()
629 pr_info("%s: can't register tunnel\n", __func__); in ipip_init()
635 pr_info("%s: can't register tunnel\n", __func__); in ipip_init()
662 pr_info("%s: can't deregister tunnel\n", __func__); in ipip_fini()
665 pr_info("%s: can't deregister tunnel\n", __func__); in ipip_fini()