 8024e02879
			
		
	
	
	8024e02879
	
	
	
		
			
			Added udp_tunnel.c which can contain some common functions for UDP tunnels. The first function in this is udp_sock_create which is used to open the listener port for a UDP tunnel. Signed-off-by: Tom Herbert <therbert@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
		
			
				
	
	
		
			32 lines
		
	
	
	
		
			598 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
	
		
			598 B
			
		
	
	
	
		
			C
		
	
	
	
	
	
| #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
 |