diff options
Diffstat (limited to 'include/linux/if_pppol2tp.h')
-rw-r--r-- | include/linux/if_pppol2tp.h | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/include/linux/if_pppol2tp.h b/include/linux/if_pppol2tp.h index 23cefa1111bf..b4775418d525 100644 --- a/include/linux/if_pppol2tp.h +++ b/include/linux/if_pppol2tp.h | |||
@@ -19,10 +19,11 @@ | |||
19 | 19 | ||
20 | #ifdef __KERNEL__ | 20 | #ifdef __KERNEL__ |
21 | #include <linux/in.h> | 21 | #include <linux/in.h> |
22 | #include <linux/in6.h> | ||
22 | #endif | 23 | #endif |
23 | 24 | ||
24 | /* Structure used to connect() the socket to a particular tunnel UDP | 25 | /* Structure used to connect() the socket to a particular tunnel UDP |
25 | * socket. | 26 | * socket over IPv4. |
26 | */ | 27 | */ |
27 | struct pppol2tp_addr { | 28 | struct pppol2tp_addr { |
28 | __kernel_pid_t pid; /* pid that owns the fd. | 29 | __kernel_pid_t pid; /* pid that owns the fd. |
@@ -35,6 +36,20 @@ struct pppol2tp_addr { | |||
35 | __u16 d_tunnel, d_session; /* For sending outgoing packets */ | 36 | __u16 d_tunnel, d_session; /* For sending outgoing packets */ |
36 | }; | 37 | }; |
37 | 38 | ||
39 | /* Structure used to connect() the socket to a particular tunnel UDP | ||
40 | * socket over IPv6. | ||
41 | */ | ||
42 | struct pppol2tpin6_addr { | ||
43 | __kernel_pid_t pid; /* pid that owns the fd. | ||
44 | * 0 => current */ | ||
45 | int fd; /* FD of UDP socket to use */ | ||
46 | |||
47 | __u16 s_tunnel, s_session; /* For matching incoming packets */ | ||
48 | __u16 d_tunnel, d_session; /* For sending outgoing packets */ | ||
49 | |||
50 | struct sockaddr_in6 addr; /* IP address and port to send to */ | ||
51 | }; | ||
52 | |||
38 | /* The L2TPv3 protocol changes tunnel and session ids from 16 to 32 | 53 | /* The L2TPv3 protocol changes tunnel and session ids from 16 to 32 |
39 | * bits. So we need a different sockaddr structure. | 54 | * bits. So we need a different sockaddr structure. |
40 | */ | 55 | */ |
@@ -49,6 +64,17 @@ struct pppol2tpv3_addr { | |||
49 | __u32 d_tunnel, d_session; /* For sending outgoing packets */ | 64 | __u32 d_tunnel, d_session; /* For sending outgoing packets */ |
50 | }; | 65 | }; |
51 | 66 | ||
67 | struct pppol2tpv3in6_addr { | ||
68 | __kernel_pid_t pid; /* pid that owns the fd. | ||
69 | * 0 => current */ | ||
70 | int fd; /* FD of UDP or IP socket to use */ | ||
71 | |||
72 | __u32 s_tunnel, s_session; /* For matching incoming packets */ | ||
73 | __u32 d_tunnel, d_session; /* For sending outgoing packets */ | ||
74 | |||
75 | struct sockaddr_in6 addr; /* IP address and port to send to */ | ||
76 | }; | ||
77 | |||
52 | /* Socket options: | 78 | /* Socket options: |
53 | * DEBUG - bitmask of debug message categories | 79 | * DEBUG - bitmask of debug message categories |
54 | * SENDSEQ - 0 => don't send packets with sequence numbers | 80 | * SENDSEQ - 0 => don't send packets with sequence numbers |