l2tp: Add L2TPv3 IP encapsulation (no UDP) support
[linux-3.10.git] / include / linux / l2tp.h
1 /*
2  * L2TP-over-IP socket for L2TPv3.
3  *
4  * Author: James Chapman <jchapman@katalix.com>
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