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