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()
247 return ip_tunnel_rcv(tunnel, skb, tpi, tun_dst, log_ecn_error); in ipip_tunnel_rcv()
276 struct ip_tunnel *tunnel = netdev_priv(dev); in ipip_tunnel_xmit() local
277 const struct iphdr *tiph = &tunnel->parms.iph; in ipip_tunnel_xmit()
304 if (tunnel->collect_md) in ipip_tunnel_xmit()
381 struct ip_tunnel *tunnel = netdev_priv(dev); in ipip_tunnel_init() local
383 __dev_addr_set(dev, &tunnel->parms.iph.saddr, 4); in ipip_tunnel_init()
384 memcpy(dev->broadcast, &tunnel->parms.iph.daddr, 4); in ipip_tunnel_init()
386 tunnel->tun_hlen = 0; in ipip_tunnel_init()
387 tunnel->hlen = tunnel->tun_hlen + tunnel->encap_hlen; in ipip_tunnel_init()
511 struct ip_tunnel *tunnel = netdev_priv(dev); in ipip_fill_info() local
512 struct ip_tunnel_parm *parm = &tunnel->parms; in ipip_fill_info()
522 nla_put_u32(skb, IFLA_IPTUN_FWMARK, tunnel->fwmark)) in ipip_fill_info()
526 tunnel->encap.type) || in ipip_fill_info()
528 tunnel->encap.sport) || in ipip_fill_info()
530 tunnel->encap.dport) || in ipip_fill_info()
532 tunnel->encap.flags)) in ipip_fill_info()
535 if (tunnel->collect_md) in ipip_fill_info()
617 pr_info("%s: can't register tunnel\n", __func__); in ipip_init()
623 pr_info("%s: can't register tunnel\n", __func__); in ipip_init()
650 pr_info("%s: can't deregister tunnel\n", __func__); in ipip_fini()
653 pr_info("%s: can't deregister tunnel\n", __func__); in ipip_fini()