summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2014-07-15 03:12:24 +0400
committerDavid S. Miller <davem@davemloft.net>2014-07-15 03:12:24 +0400
commit64bbca3c4b1ea781dbb21474439001125e08a93b (patch)
treefe501117127ec38d2ef4402681ff3bc53f245379 /include
parent39b1c29b7bb932d7c2bd5680a927f269944bdfda (diff)
parent155e010edbc168f43bb332887c43e8579ee3894a (diff)
downloadlinux-64bbca3c4b1ea781dbb21474439001125e08a93b.tar.xz
Merge branch 'udp_tunnel'
Tom Herbert says: ==================== udp: UDP tunnel enhancements - Add udp_sock_create in new helper module udp_tunnel. Tunnel implementations call this function to create listener UDP ports. - Make vxlan and l2tp call udp_sock_create. - Move udp_tunnel_segment into udp_offload.c. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/net/udp_tunnel.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/include/net/udp_tunnel.h b/include/net/udp_tunnel.h
new file mode 100644
index 000000000000..ffd69cbded35
--- /dev/null
+++ b/include/net/udp_tunnel.h
@@ -0,0 +1,32 @@
+#ifndef __NET_UDP_TUNNEL_H
+#define __NET_UDP_TUNNEL_H
+
+struct udp_port_cfg {
+ u8 family;
+
+ /* Used only for kernel-created sockets */
+ union {
+ struct in_addr local_ip;
+#if IS_ENABLED(CONFIG_IPV6)
+ struct in6_addr local_ip6;
+#endif
+ };
+
+ union {
+ struct in_addr peer_ip;
+#if IS_ENABLED(CONFIG_IPV6)
+ struct in6_addr peer_ip6;
+#endif
+ };
+
+ __be16 local_udp_port;
+ __be16 peer_udp_port;
+ unsigned int use_udp_checksums:1,
+ use_udp6_tx_checksums:1,
+ use_udp6_rx_checksums:1;
+};
+
+int udp_sock_create(struct net *net, struct udp_port_cfg *cfg,
+ struct socket **sockp);
+
+#endif