Home
last modified time | relevance | path

Searched full:tunnel (Results 1 – 25 of 351) sorted by relevance

12345678910>>...15

/linux/include/drm/display/
H A Ddrm_dp_tunnel.h24 struct drm_dp_tunnel *tunnel; member
31 drm_dp_tunnel_get(struct drm_dp_tunnel *tunnel, struct ref_tracker **tracker);
34 drm_dp_tunnel_put(struct drm_dp_tunnel *tunnel, struct ref_tracker **tracker);
36 static inline void drm_dp_tunnel_ref_get(struct drm_dp_tunnel *tunnel, in drm_dp_tunnel_ref_get() argument
39 tunnel_ref->tunnel = drm_dp_tunnel_get(tunnel, &tunnel_ref->tracker); in drm_dp_tunnel_ref_get()
44 drm_dp_tunnel_put(tunnel_ref->tunnel, &tunnel_ref->tracker); in drm_dp_tunnel_ref_put()
45 tunnel_ref->tunnel = NULL; in drm_dp_tunnel_ref_put()
51 int drm_dp_tunnel_destroy(struct drm_dp_tunnel *tunnel);
53 int drm_dp_tunnel_enable_bw_alloc(struct drm_dp_tunnel *tunnel);
54 int drm_dp_tunnel_disable_bw_alloc(struct drm_dp_tunnel *tunnel);
[all …]
/linux/net/l2tp/
H A Dl2tp_core.c143 static void l2tp_tunnel_free(struct l2tp_tunnel *tunnel) in l2tp_tunnel_free() argument
145 struct sock *sk = tunnel->sock; in l2tp_tunnel_free()
147 trace_free_tunnel(tunnel); in l2tp_tunnel_free()
151 switch (tunnel->encap) { in l2tp_tunnel_free()
162 tunnel->sock = NULL; in l2tp_tunnel_free()
166 kfree_rcu(tunnel, rcu); in l2tp_tunnel_free()
172 if (session->tunnel) in l2tp_session_free()
173 l2tp_tunnel_put(session->tunnel); in l2tp_session_free()
181 struct l2tp_tunnel *tunnel; in l2tp_sk_to_tunnel() local
186 idr_for_each_entry_ul(&pn->l2tp_tunnel_idr, tunnel, tmp, tunnel_id) { in l2tp_sk_to_tunnel()
[all …]
H A Dl2tp_netlink.c38 int flags, struct l2tp_tunnel *tunnel, u8 cmd);
51 struct l2tp_tunnel *tunnel; in l2tp_nl_session_get() local
62 tunnel = l2tp_tunnel_get(net, tunnel_id); in l2tp_nl_session_get()
63 if (tunnel) { in l2tp_nl_session_get()
64 session = l2tp_session_get(net, tunnel->sock, tunnel->version, in l2tp_nl_session_get()
66 l2tp_tunnel_put(tunnel); in l2tp_nl_session_get()
105 struct l2tp_tunnel *tunnel, in l2tp_tunnel_notify() argument
116 NLM_F_ACK, tunnel, cmd); in l2tp_tunnel_notify()
193 struct l2tp_tunnel *tunnel; in l2tp_nl_cmd_tunnel_create() local
221 /* Managed tunnels take the tunnel socket from userspace. in l2tp_nl_cmd_tunnel_create()
[all …]
H A Dl2tp_ppp.c27 * zero, the socket is treated as a special tunnel management socket.
140 /* Helpers to obtain tunnel/session contexts from sockets.
256 struct l2tp_tunnel *tunnel; in pppol2tp_sendmsg() local
263 /* Get session and tunnel contexts */ in pppol2tp_sendmsg()
269 tunnel = session->tunnel; in pppol2tp_sendmsg()
271 uhlen = (tunnel->encap == L2TP_ENCAPTYPE_UDP) ? sizeof(struct udphdr) : 0; in pppol2tp_sendmsg()
333 struct l2tp_tunnel *tunnel; in pppol2tp_xmit() local
339 /* Get session and tunnel contexts from the socket */ in pppol2tp_xmit()
344 tunnel = session->tunnel; in pppol2tp_xmit()
346 uhlen = (tunnel->encap == L2TP_ENCAPTYPE_UDP) ? sizeof(struct udphdr) : 0; in pppol2tp_xmit()
[all …]
H A Dl2tp_debugfs.c37 unsigned long tkey; /* lookup key of current tunnel */
39 struct l2tp_tunnel *tunnel; member
40 struct l2tp_session *session; /* NULL means get next tunnel */
46 if (pd->tunnel) in l2tp_dfs_next_tunnel()
47 l2tp_tunnel_put(pd->tunnel); in l2tp_dfs_next_tunnel()
49 pd->tunnel = l2tp_tunnel_get_next(pd->net, &pd->tkey); in l2tp_dfs_next_tunnel()
59 pd->session = l2tp_session_get_next(pd->net, pd->tunnel->sock, in l2tp_dfs_next_session()
60 pd->tunnel->version, in l2tp_dfs_next_session()
61 pd->tunnel->tunnel_id, &pd->skey); in l2tp_dfs_next_session()
84 if (!pd->tunnel) in l2tp_dfs_seq_start()
[all …]
H A Dl2tp_core.h18 /* Random numbers used for internal consistency checks of tunnel and session structures */
63 * Is linked into a per-tunnel session list and a per-net ("global") IDR tree.
71 struct l2tp_tunnel *tunnel; /* back pointer to tunnel context */ member
83 u32 nr_max; /* max NR. Depends on tunnel */
88 struct list_head list; /* per-tunnel list node */
133 /* L2TP tunnel configuration */
151 /* Represents a tunnel instance.
153 * Holds the tunnel socket (either passed from userspace or directly created by the kernel).
154 * Maintains a list of sessions belonging to the tunnel instance.
163 bool acpt_newsess; /* indicates whether this tunnel accepts
[all …]
H A Dtrace.h28 TP_PROTO(struct l2tp_tunnel *tunnel),
29 TP_ARGS(tunnel),
34 memcpy(__entry->name, tunnel->name, L2TP_TUNNEL_NAME_MAX);
52 TP_PROTO(struct l2tp_tunnel *tunnel),
53 TP_ARGS(tunnel),
63 memcpy(__entry->name, tunnel->name, L2TP_TUNNEL_NAME_MAX);
64 __entry->fd = tunnel->fd;
65 __entry->tid = tunnel->tunnel_id;
66 __entry->ptid = tunnel->peer_tunnel_id;
67 __entry->version = tunnel->version;
[all …]
/linux/Documentation/networking/
H A Dl2tp.rst27 An L2TP tunnel carries one or more L2TP sessions. Each tunnel is
30 to/from L2TP. Fields in the L2TP header identify the tunnel or session
40 1) Create a tunnel socket. Exchange L2TP control protocol messages
41 with the peer over that socket in order to establish a tunnel.
43 2) Create a tunnel context in the kernel, using information
47 tunnel socket in order to establish a session.
57 Tunnel Sockets
62 To create a tunnel socket for use by L2TP, the standard POSIX
65 For example, for a tunnel using IPv4 addresses and UDP encapsulation::
69 Or for a tunnel using IPv6 addresses and IP encapsulation::
[all …]
H A Dgtp.rst12 of a GTP tunnel endpoint.
17 GTP is the Generic Tunnel Protocol, which is a 3GPP protocol used for
24 such a tunnel between that external data network and the phone. The
25 tunnel endpoints thus reside on the phone and in the gateway. All
35 is translated into GTP *without breaking the end-to-end tunnel*. So
39 or P-GW (LTE), which terminates the tunnel, decapsulates the packet
53 The module implements the function of a tunnel endpoint, i.e. it is
70 to handle the tunnel establishment, authentication etc. and only the
159 Local GTP-U entity and tunnel identification
166 instance) per IP address. Tunnel Endpoint Identifier (TEID) are unique
[all …]
H A Dbareudp.rst11 The Bareudp tunnel module provides a generic L3 encapsulation support for
12 tunnelling different L3 protocols like MPLS, IP, NSH etc. inside a UDP tunnel.
31 This creates a bareudp tunnel device which tunnels L3 traffic with ethertype
45 For an IPv4 tunnel the multiproto mode allows the tunnel to also handle
50 For MPLS, the multiproto mode allows the tunnel to handle both unicast
56 The OVS or TC flower layer must set the tunnel information in the SKB dst field before
58 bareUDP device extracts and stores the tunnel information in the SKB dst field before
/linux/include/uapi/linux/
H A Dip6_tunnel.h28 char name[IFNAMSIZ]; /* name of tunnel device */
30 __u8 proto; /* tunnel protocol */
31 __u8 encap_limit; /* encapsulation limit for tunnel */
32 __u8 hop_limit; /* hop limit for tunnel */
33 __be32 flowinfo; /* traffic class and flowlabel for tunnel */
34 __u32 flags; /* tunnel flags */
35 struct in6_addr laddr; /* local tunnel end-point address */
36 struct in6_addr raddr; /* remote tunnel end-point address */
40 char name[IFNAMSIZ]; /* name of tunnel device */
42 __u8 proto; /* tunnel protoco
[all...]
/linux/net/ipv4/
H A Dip_tunnel.c70 /* Fallback tunnel: no source, no destination, no key, no options
72 Tunnel hash table:
74 it will match only tunnel with the same key; if it is not present,
75 it will match only keyless tunnel.
78 will match fallback tunnel.
79 Given src, dst and key, find appropriate for input tunnel.
238 struct ip_tunnel *tunnel; in __ip_tunnel_create() local
264 tunnel = netdev_priv(dev); in __ip_tunnel_create()
265 tunnel->parms = *parms; in __ip_tunnel_create()
266 tunnel->net = net; in __ip_tunnel_create()
[all …]
H A Dipip.c22 /* 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 inf
221 struct ip_tunnel *tunnel; ipip_tunnel_rcv() local
285 struct ip_tunnel *tunnel = netdev_priv(dev); ipip_tunnel_xmit() local
391 struct ip_tunnel *tunnel = netdev_priv(dev); ipip_tunnel_init() local
524 struct ip_tunnel *tunnel = netdev_priv(dev); ipip_fill_info() local
[all...]
H A Dip_gre.c76 - traceroute does not work. I planned to relay ICMP from tunnel,
94 (branches, that exceed pmtu are pruned) and tunnel mtu
275 struct ip_tunnel *tunnel; in erspan_rcv() local
288 tunnel = ip_tunnel_lookup(itn, skb->dev->ifindex, flags, in erspan_rcv()
299 tunnel = ip_tunnel_lookup(itn, skb->dev->ifindex, flags, in erspan_rcv()
303 if (tunnel) { in erspan_rcv()
318 if (tunnel->collect_md) { in erspan_rcv()
354 ip_tunnel_rcv(tunnel, skb, tpi, tun_dst, log_ecn_error); in erspan_rcv()
369 struct ip_tunnel *tunnel; in __ipgre_rcv() local
372 tunnel in __ipgre_rcv()
477 struct ip_tunnel *tunnel = netdev_priv(dev); __gre_xmit() local
499 struct ip_tunnel *tunnel = netdev_priv(dev); gre_fb_xmit() local
542 struct ip_tunnel *tunnel = netdev_priv(dev); erspan_fb_xmit() local
652 struct ip_tunnel *tunnel = netdev_priv(dev); ipgre_xmit() local
704 struct ip_tunnel *tunnel = netdev_priv(dev); erspan_xmit() local
759 struct ip_tunnel *tunnel = netdev_priv(dev); gre_tap_xmit() local
787 struct ip_tunnel *tunnel = netdev_priv(dev); ipgre_link_update() local
998 struct ip_tunnel *tunnel; __gre_tunnel_init() local
1027 struct ip_tunnel *tunnel = netdev_priv(dev); ipgre_tunnel_init() local
1342 struct ip_tunnel *tunnel = netdev_priv(dev); erspan_tunnel_init() local
[all...]
H A Dip_vti.c4 * virtual tunnel interface
50 struct ip_tunnel *tunnel; in vti_input() local
58 tunnel = ip_tunnel_lookup(itn, skb->dev->ifindex, flags, in vti_input()
60 if (tunnel) { in vti_input()
64 XFRM_TUNNEL_SKB_CB(skb)->tunnel.ip4 = tunnel; in vti_input()
67 skb->dev = tunnel->dev; in vti_input()
103 struct ip_tunnel *tunnel = XFRM_TUNNEL_SKB_CB(skb)->tunnel.ip4; in vti_rcv_cb() local
107 if (!tunnel) in vti_rcv_cb()
110 dev = tunnel->dev; in vti_rcv_cb()
134 skb->mark = be32_to_cpu(tunnel->parms.i_key); in vti_rcv_cb()
[all …]
/linux/net/ipv6/
H A Dsit.c3 * IPv6 over IPv4 tunnel device - Simple Internet Transition (SIT)
73 static bool check_6rd(struct ip_tunnel *tunnel, const struct in6_addr *v6dst,
515 struct ip_tunnel *tunnel = netdev_priv(dev); in ipip6_tunnel_uninit() local
516 struct sit_net *sitn = net_generic(tunnel->net, sit_net_id); in ipip6_tunnel_uninit()
521 ipip6_tunnel_unlink(sitn, tunnel); in ipip6_tunnel_uninit()
522 ipip6_tunnel_del_prl(tunnel, NULL); in ipip6_tunnel_uninit()
524 dst_cache_reset(&tunnel->dst_cache); in ipip6_tunnel_uninit()
525 netdev_put(dev, &tunnel->dev_tracker); in ipip6_tunnel_uninit()
606 static inline bool is_spoofed_6rd(struct ip_tunnel *tunnel, const __be32 v4addr, in is_spoofed_6rd() argument
610 if (check_6rd(tunnel, v6add in is_spoofed_6rd()
627 only_dnatted(const struct ip_tunnel * tunnel,const struct in6_addr * v6dst) only_dnatted() argument
644 packet_is_spoofed(struct sk_buff * skb,const struct iphdr * iph,struct ip_tunnel * tunnel) packet_is_spoofed() argument
682 struct ip_tunnel *tunnel; ipip6_rcv() local
755 struct ip_tunnel *tunnel; sit_tunnel_rcv() local
808 check_6rd(struct ip_tunnel * tunnel,const struct in6_addr * v6dst,__be32 * v4dst) check_6rd() argument
843 try_6rd(struct ip_tunnel * tunnel,const struct in6_addr * v6dst) try_6rd() argument
859 struct ip_tunnel *tunnel = netdev_priv(dev); ipip6_tunnel_xmit() local
1052 struct ip_tunnel *tunnel = netdev_priv(dev); sit_tunnel_xmit__() local
1101 struct ip_tunnel *tunnel = netdev_priv(dev); ipip6_tunnel_bind_dev() local
1412 struct ip_tunnel *tunnel = netdev_priv(dev); ipip6_dev_free() local
1425 struct ip_tunnel *tunnel = netdev_priv(dev); ipip6_tunnel_setup() local
1449 struct ip_tunnel *tunnel = netdev_priv(dev); ipip6_tunnel_init() local
1468 struct ip_tunnel *tunnel = netdev_priv(dev); ipip6_fb_tunnel_init() local
1697 struct ip_tunnel *tunnel = netdev_priv(dev); ipip6_fill_info() local
[all...]
H A Dip6_tunnel.c85 /* the IPv6 tunnel fallback device */
103 * ip6_tnl_lookup - fetch tunnel matching the end-point addresses
106 * @remote: the address of the tunnel exit-point
107 * @local: the address of the tunnel entry-point
110 * tunnel matching given end-points if found,
111 * else fallback tunnel if its device is up,
178 * ip6_tnl_bucket - get head of list matching given tunnel parameters
180 * @p: parameters containing tunnel end-points
186 * Return: head of IPv6 tunnel list
205 * ip6_tnl_link - add tunnel to hash table
[all …]
H A Dip6_vti.c67 /* the vti6 tunnel fallback device */
79 * vti6_tnl_lookup - fetch tunnel matching the end-point addresses
81 * @remote: the address of the tunnel exit-point
82 * @local: the address of the tunnel entry-point
85 * tunnel matching given end-points if found,
86 * else fallback tunnel if its device is up,
128 * vti6_tnl_bucket - get head of list matching given tunnel parameters
130 * @p: parameters containing tunnel end-points
136 * Return: head of IPv6 tunnel list
237 * vti6_locate - find or create tunnel matching given parameters
[all …]
H A Dip6_gre.c83 /* Tunnel hash table */
94 it will match only tunnel with the same key; if it is not present,
95 it will match only keyless tunnel.
98 will match fallback tunnel.
139 /* Given src, dst and key, find appropriate for input tunnel. */
414 net_dbg_ratelimited("%s: Too small hop limit or routing loop in tunnel!\n", in ip6gre_err()
430 net_dbg_ratelimited("%s: Too small encapsulation limit or routing loop in tunnel!\n", in ip6gre_err()
460 struct ip6_tnl *tunnel; in ip6gre_rcv() local
463 tunnel = ip6gre_tunnel_lookup(skb->dev, in ip6gre_rcv()
466 if (tunnel) { in ip6gre_rcv()
497 struct ip6_tnl *tunnel; ip6erspan_rcv() local
720 struct ip6_tnl *tunnel = netdev_priv(dev); __gre6_xmit() local
1162 ip6gre_calc_hlen(struct ip6_tnl * tunnel) ip6gre_calc_hlen() argument
1465 struct ip6_tnl *tunnel; ip6gre_tunnel_init_common() local
1505 struct ip6_tnl *tunnel; ip6gre_tunnel_init() local
1528 struct ip6_tnl *tunnel = netdev_priv(dev); ip6gre_fb_tunnel_init() local
1823 ip6erspan_calc_hlen(struct ip6_tnl * tunnel) ip6erspan_calc_hlen() argument
1838 struct ip6_tnl *tunnel; ip6erspan_tap_init() local
[all...]
/linux/include/net/
H A Dip6_tunnel.h22 char name[IFNAMSIZ]; /* name of tunnel device */
24 __u8 proto; /* tunnel protocol */
25 __u8 encap_limit; /* encapsulation limit for tunnel */
26 __u8 hop_limit; /* hop limit for tunnel */
28 __be32 flowinfo; /* traffic class and flowlabel for tunnel */
29 __u32 flags; /* tunnel flags */
30 struct in6_addr laddr; /* local tunnel end-point address */
31 struct in6_addr raddr; /* remote tunnel end-point address */
45 /* IPv6 tunnel */
47 struct ip6_tnl __rcu *next; /* next tunnel in list */
[all …]
/linux/tools/testing/selftests/bpf/prog_tests/
H A Dtest_tunnel.c4 * End-to-end eBPF tunnel test suite
5 * The file tests BPF network tunnel implementation.
24 * root namespace with metadata-mode tunnel + BPF
28 * tunnel dev <type>11, ex: gre11, IPv4: 10.1.1.200, IPv6: 1::22 (overlay)
30 * Namespace at_ns0 with native tunnel
33 * tunnel dev <type>00, ex: gre00, IPv4: 10.1.1.100, IPv6: 1::11 (overlay)
42 * 2) Tnl device's egress BPF program is triggered and set the tunnel metadata,
44 * the primary or secondary ip of veth1 as the local ip of tunnel. The
46 * 3) Outer tunnel header is prepended and route the packet to veth1's egress.
48 * 5) Tunnel protoco
[all...]
/linux/drivers/net/ethernet/broadcom/bnxt/
H A Dbnxt_tc.h88 /* tunnel encap */
146 /* Tunnel encap/decap hash table
148 * the same tunnel encap/decap params (ip_daddrs, vni, udp_dport)
156 /* tunnel l2 info */
160 /* tunnel handle returned by FW */
168 * The same data-struct is used for L2-flow table and L2-tunnel table.
169 * The L2 part of a flow or tunnel is stored in a hash table.
171 * already existing flow/tunnel must refer to it's flow handle or
205 /* tunnel encap related */
208 /* tunnel decap related */
[all …]
/linux/tools/testing/selftests/bpf/
H A Dtest_tunnel.sh
/linux/tools/testing/selftests/net/
H A Dl2tp.sh4 # L2TPv3 tunnel between 2 hosts
140 # configure l2tpv3 tunnel on host-1
142 ip -netns $host_1 l2tp add tunnel tunnel_id 1041 peer_tunnel_id 1042 \
150 # configure l2tpv3 tunnel on host-2
152 ip -netns $host_2 l2tp add tunnel tunnel_id 1042 peer_tunnel_id 1041 \
169 # configure l2tpv3 tunnel on host-1
171 ip -netns $host_1 l2tp add tunnel tunnel_id 1061 peer_tunnel_id 1062 \
179 # configure l2tpv3 tunnel on host-2
181 ip -netns $host_2 l2tp add tunnel tunnel_id 1062 peer_tunnel_id 1061 \
313 # generate traffic through tunnel for various cases
[all …]
/linux/net/sched/
H A Dact_tunnel_key.c102 NL_SET_ERR_MSG(extack, "Missing tunnel key geneve option class, type or data"); in tunnel_key_copy_geneve_opt()
109 NL_SET_ERR_MSG(extack, "Tunnel key geneve option data is less than 4 bytes long"); in tunnel_key_copy_geneve_opt()
113 NL_SET_ERR_MSG(extack, "Tunnel key geneve option data is not a multiple of 4 bytes long"); in tunnel_key_copy_geneve_opt()
150 NL_SET_ERR_MSG(extack, "Missing tunnel key vxlan option gbp"); in tunnel_key_copy_vxlan_opt()
178 NL_SET_ERR_MSG(extack, "Missing tunnel key erspan option ver"); in tunnel_key_copy_erspan_opt()
185 NL_SET_ERR_MSG(extack, "Missing tunnel key erspan option index"); in tunnel_key_copy_erspan_opt()
191 NL_SET_ERR_MSG(extack, "Missing tunnel key erspan option dir or hwid"); in tunnel_key_copy_erspan_opt()
195 NL_SET_ERR_MSG(extack, "Tunnel key erspan option ver is incorrect"); in tunnel_key_copy_erspan_opt()
241 NL_SET_ERR_MSG(extack, "Tunnel options exceeds max size"); in tunnel_key_copy_opts()
278 NL_SET_ERR_MSG(extack, "Empty list of tunnel option in tunnel_key_copy_opts()
781 struct ip_tunnel_info *tunnel = priv; tcf_tunnel_encap_put_tunnel() local
[all...]

12345678910>>...15