aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-connectivity/ppp/ppp-2.4.5/update_if_pppol2tp.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-connectivity/ppp/ppp-2.4.5/update_if_pppol2tp.patch')
-rw-r--r--meta/recipes-connectivity/ppp/ppp-2.4.5/update_if_pppol2tp.patch54
1 files changed, 54 insertions, 0 deletions
diff --git a/meta/recipes-connectivity/ppp/ppp-2.4.5/update_if_pppol2tp.patch b/meta/recipes-connectivity/ppp/ppp-2.4.5/update_if_pppol2tp.patch
new file mode 100644
index 0000000000..e034f19d81
--- /dev/null
+++ b/meta/recipes-connectivity/ppp/ppp-2.4.5/update_if_pppol2tp.patch
@@ -0,0 +1,54 @@
+Upstream-Status: Pending
+diff --git a/include/linux/if_pppol2tp.h b/include/linux/if_pppol2tp.h
+index 4113d6a..7ee86b2 100644
+--- a/include/linux/if_pppol2tp.h
++++ b/include/linux/if_pppol2tp.h
+@@ -2,7 +2,7 @@
+ * Linux PPP over L2TP (PPPoL2TP) Socket Implementation (RFC 2661)
+ *
+ * This file supplies definitions required by the PPP over L2TP driver
+- * (pppol2tp.c). All version information wrt this file is located in pppol2tp.c
++ * (l2tp_ppp.c). All version information wrt this file is located in l2tp_ppp.c
+ *
+ * License:
+ * This program is free software; you can redistribute it and/or
+@@ -15,14 +15,14 @@
+ #ifndef __LINUX_IF_PPPOL2TP_H
+ #define __LINUX_IF_PPPOL2TP_H
+
+-#include <asm/types.h>
++#include <linux/types.h>
++
+
+ /* Structure used to connect() the socket to a particular tunnel UDP
+ * socket.
+ */
+-struct pppol2tp_addr
+-{
+- pid_t pid; /* pid that owns the fd.
++struct pppol2tp_addr {
++ __kernel_pid_t pid; /* pid that owns the fd.
+ * 0 => current */
+ int fd; /* FD of UDP socket to use */
+
+@@ -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