l2tp.h
001:
002:
003:
004: <jchapman@katalix.com>
005:
006:
007: #ifndef _LINUX_L2TP_H_
008: #define _LINUX_L2TP_H_
009:
010: #include <linux/types.h>
011: #include <linux/socket.h>
012: #include <netinet/in.h>
013:
014: #define IPPROTO_L2TP 115
015:
016:
017:
018: @l
019: @l
020: @l
021:
022: #define __SOCK_SIZE__ 16
023: struct sockaddr_l2tpip {
024:
025: __kernel_sa_family_t l2tp_family;
026: __be16 l2tp_unused;
027: struct in_addr l2tp_addr;
028:
029: __u32 l2tp_conn_id;
030:
031:
032: unsigned char __pad[sizeof(struct sockaddr) -
033: sizeof(__kernel_sa_family_t) -
034: sizeof(__be16) - sizeof(struct in_addr) -
035: sizeof(__u32)];
036: };
037:
038:
039:
040:
041:
042:
043:
044:
045:
046:
047:
048:
049:
050:
051:
052:
053:
054:
055:
056:
057: enum {
058: L2TP_CMD_NOOP,
059: L2TP_CMD_TUNNEL_CREATE,
060: L2TP_CMD_TUNNEL_DELETE,
061: L2TP_CMD_TUNNEL_MODIFY,
062: L2TP_CMD_TUNNEL_GET,
063: L2TP_CMD_SESSION_CREATE,
064: L2TP_CMD_SESSION_DELETE,
065: L2TP_CMD_SESSION_MODIFY,
066: L2TP_CMD_SESSION_GET,
067: __L2TP_CMD_MAX,
068: };
069:
070: #define L2TP_CMD_MAX (__L2TP_CMD_MAX - 1)
071:
072:
073:
074:
075: enum {
076: L2TP_ATTR_NONE,
077: L2TP_ATTR_PW_TYPE,
078: L2TP_ATTR_ENCAP_TYPE,
079: L2TP_ATTR_OFFSET,
080: L2TP_ATTR_DATA_SEQ,
081: L2TP_ATTR_L2SPEC_TYPE,
082: L2TP_ATTR_L2SPEC_LEN,
083: L2TP_ATTR_PROTO_VERSION,
084: L2TP_ATTR_IFNAME,
085: L2TP_ATTR_CONN_ID,
086: L2TP_ATTR_PEER_CONN_ID,
087: L2TP_ATTR_SESSION_ID,
088: L2TP_ATTR_PEER_SESSION_ID,
089: L2TP_ATTR_UDP_CSUM,
090: L2TP_ATTR_VLAN_ID,
091: L2TP_ATTR_COOKIE,
092: L2TP_ATTR_PEER_COOKIE,
093: L2TP_ATTR_DEBUG,
094: L2TP_ATTR_RECV_SEQ,
095: L2TP_ATTR_SEND_SEQ,
096: L2TP_ATTR_LNS_MODE,
097: L2TP_ATTR_USING_IPSEC,
098: L2TP_ATTR_RECV_TIMEOUT,
099: L2TP_ATTR_FD,
100: L2TP_ATTR_IP_SADDR,
101: L2TP_ATTR_IP_DADDR,
102: L2TP_ATTR_UDP_SPORT,
103: L2TP_ATTR_UDP_DPORT,
104: L2TP_ATTR_MTU,
105: L2TP_ATTR_MRU,
106: L2TP_ATTR_STATS,
107: __L2TP_ATTR_MAX,
108: };
109:
110: #define L2TP_ATTR_MAX (__L2TP_ATTR_MAX - 1)
111:
112:
113: enum {
114: L2TP_ATTR_STATS_NONE,
115: L2TP_ATTR_TX_PACKETS,
116: L2TP_ATTR_TX_BYTES,
117: L2TP_ATTR_TX_ERRORS,
118: L2TP_ATTR_RX_PACKETS,
119: L2TP_ATTR_RX_BYTES,
120: L2TP_ATTR_RX_SEQ_DISCARDS,
121: L2TP_ATTR_RX_OOS_PACKETS,
122: L2TP_ATTR_RX_ERRORS,
123: __L2TP_ATTR_STATS_MAX,
124: };
125:
126: #define L2TP_ATTR_STATS_MAX (__L2TP_ATTR_STATS_MAX - 1)
127:
128: enum l2tp_pwtype {
129: L2TP_PWTYPE_NONE = 0x0000,
130: L2TP_PWTYPE_ETH_VLAN = 0x0004,
131: L2TP_PWTYPE_ETH = 0x0005,
132: L2TP_PWTYPE_PPP = 0x0007,
133: L2TP_PWTYPE_PPP_AC = 0x0008,
134: L2TP_PWTYPE_IP = 0x000b,
135: __L2TP_PWTYPE_MAX
136: };
137:
138: enum l2tp_l2spec_type {
139: L2TP_L2SPECTYPE_NONE,
140: L2TP_L2SPECTYPE_DEFAULT,
141: };
142:
143: enum l2tp_encap_type {
144: L2TP_ENCAPTYPE_UDP,
145: L2TP_ENCAPTYPE_IP,
146: };
147:
148: enum l2tp_seqmode {
149: L2TP_SEQ_NONE = 0,
150: L2TP_SEQ_IP = 1,
151: L2TP_SEQ_ALL = 2,
152: };
153:
154:
155:
156:
157: #define L2TP_GENL_NAME "l2tp"
158: #define L2TP_GENL_VERSION 0x1
159:
160: #endif
161:
© Andrew Scott 2006 -
2025,
All Rights Reserved