]> code.ossystems Code Review - openembedded-core.git/commitdiff
ppp: Fix rp-pppoe plugin compilation
authorYauhen Kharuzhy <yauhen.kharuzhy@promwad.com>
Tue, 21 Feb 2012 14:04:38 +0000 (17:04 +0300)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 23 Feb 2012 23:59:16 +0000 (23:59 +0000)
rp-pppoe plugin was broken due linux headers changes: pppd has own copy of
if_pppol2tp.h file which is included from <linux/if_pppox.h>.

Add patch from Debian for struct pppol2tpv3_addr definition.

Signed-off-by: Yauhen Kharuzhy <yauhen.kharuzhy@promwad.com>
meta/recipes-connectivity/ppp/ppp-2.4.5/update_if_pppol2tp.patch [new file with mode: 0644]
meta/recipes-connectivity/ppp/ppp_2.4.5.bb

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 (file)
index 0000000..e034f19
--- /dev/null
@@ -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
index 72464bffa0fa70ec51086bf630f87ecf3a2e16ba..80f91e6ff7039e20da7e3837d795f24a0e277975 100644 (file)
@@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://pppd/ccp.c;beginline=1;endline=29;md5=e2c43fe6e81ff77
                     file://pppd/plugins/passprompt.c;beginline=1;endline=10;md5=3bcbcdbf0e369c9a3e0b8c8275b065d8 \
                     file://pppd/tdb.c;beginline=1;endline=27;md5=4ca3a9991b011038d085d6675ae7c4e6 \
                     file://chat/chat.c;beginline=1;endline=15;md5=0d374b8545ee5c62d7aff1acbd38add2"
-PR = "r2"
+PR = "r3"
 
 SRC_URI = "http://ppp.samba.org/ftp/ppp/ppp-${PV}.tar.gz \
            file://makefile.patch \
@@ -18,6 +18,7 @@ SRC_URI = "http://ppp.samba.org/ftp/ppp/ppp-${PV}.tar.gz \
            file://pppd-resolv-varrun.patch \
            file://enable-ipv6.patch \
            file://makefile-remove-hard-usr-reference.patch \
+           file://update_if_pppol2tp.patch \
            file://pon \
            file://poff \
            file://init \