aboutsummaryrefslogtreecommitdiffstats
path: root/package/ppp/patches/430-pppol2tpv3-struct.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/ppp/patches/430-pppol2tpv3-struct.patch')
-rw-r--r--package/ppp/patches/430-pppol2tpv3-struct.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/package/ppp/patches/430-pppol2tpv3-struct.patch b/package/ppp/patches/430-pppol2tpv3-struct.patch
new file mode 100644
index 0000000000..c2f163b818
--- /dev/null
+++ b/package/ppp/patches/430-pppol2tpv3-struct.patch
@@ -0,0 +1,23 @@
+--- a/include/linux/if_pppol2tp.h
++++ b/include/linux/if_pppol2tp.h
+@@ -32,6 +32,20 @@ struct pppol2tp_addr
+ __u16 d_tunnel, d_session; /* For sending outgoing packets */
+ };
+
++/* The L2TPv3 protocol changes tunnel and session ids from 16 to 32
++ * bits. So we need a different sockaddr structure.
++ */
++struct pppol2tpv3_addr {
++ pid_t pid; /* pid that owns the fd.
++ * 0 => current */
++ int fd; /* FD of UDP or IP socket to use */
++
++ struct sockaddr_in addr; /* IP address and port to send to */
++
++ __u32 s_tunnel, s_session; /* For matching incoming packets */
++ __u32 d_tunnel, d_session; /* For sending outgoing packets */
++};
++
+ /* Socket options:
+ * DEBUG - bitmask of debug message categories
+ * SENDSEQ - 0 => don't send packets with sequence numbers