1 /* 2 * L2TP-over-IP socket for L2TPv3. 3 * 4 * Author: James Chapman <[email protected]> 5 */ 6 7 #ifndef _LINUX_L2TP_H_ 8 #define _LINUX_L2TP_H_ 9 10 #include <linux/types.h> 11 #ifdef __KERNEL__ 12 #include <linux/socket.h> 13 #include <linux/in.h> 14 #endif 15 16 #define IPPROTO_L2TP 115 17 18 /** 19 * struct sockaddr_l2tpip - the sockaddr structure for L2TP-over-IP sockets 20 * @l2tp_family: address family number AF_L2TPIP. 21 * @l2tp_addr: protocol specific address information 22 * @l2tp_conn_id: connection id of tunnel 23 */ 24 struct sockaddr_l2tpip { 25 /* The first fields must match struct sockaddr_in */ 26 sa_family_t l2tp_family; /* AF_INET */ 27 __be16 l2tp_unused; /* INET port number (unused) */ 28 struct in_addr l2tp_addr; /* Internet address */ 29 30 __u32 l2tp_conn_id; /* Connection ID of tunnel */ 31 32 /* Pad to size of `struct sockaddr'. */ 33 unsigned char __pad[sizeof(struct sockaddr) - sizeof(sa_family_t) - 34 sizeof(__be16) - sizeof(struct in_addr) - 35 sizeof(__u32)]; 36 }; 37 38 #endif 39