package/pppd: fix build with kernel < 4.7
Fix the following build failure with kernel < 4.7 raised since bump to version 2.5.0 in commit0c15169f5a
and81ad945630
: sys-linux.c: In function 'get_ppp_stats_rtnetlink': sys-linux.c:1783:29: error: field 'ifsm' has incomplete type 1783 | struct if_stats_msg ifsm; | ^~~~ Fixes: - http://autobuild.buildroot.org/results/82392df447f650f241f23e59e65131fb4a930010 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> (cherry picked from commit45c1def991
) Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
parent
20dc0f23f4
commit
1cfabbf913
@ -0,0 +1,66 @@
|
||||
From 7a3f478a4b7128d4f70ea64d99fedec766b1c009 Mon Sep 17 00:00:00 2001
|
||||
From: Jaco Kroon <jaco@uls.co.za>
|
||||
Date: Tue, 31 Oct 2023 11:47:21 +0200
|
||||
Subject: [PATCH] pppd/sys-linux: Fix compile with older Linux kernel headers
|
||||
(#452)
|
||||
|
||||
When compiling pppd against kernel headers which don't provide
|
||||
the definitions for the NETLINK mechanisms, leave out the code
|
||||
which uses NETLINK, so as to avoid getting compile errors.
|
||||
|
||||
Upstream commit in Linux refers.
|
||||
|
||||
commit 10c9ead9f3c6bb24bddc9a96681f7d58e6623966
|
||||
Author: Roopa Prabhu <roopa@cumulusnetworks.com>
|
||||
Date: Wed Apr 20 08:43:43 2016 -0700
|
||||
rtnetlink: add new RTM_GETSTATS message to dump link stats
|
||||
|
||||
This commit adds the #defines and structs used, so simply not compiling
|
||||
this code if the required #defines isn't there should solve the problem.
|
||||
|
||||
Closes: #450
|
||||
|
||||
Signed-off-by: Jaco Kroon <jaco@uls.co.za>
|
||||
Upstream: https://github.com/ppp-project/ppp/commit/7a3f478a4b7128d4f70ea64d99fedec766b1c009
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
---
|
||||
pppd/sys-linux.c | 12 ++----------
|
||||
1 file changed, 2 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/pppd/sys-linux.c b/pppd/sys-linux.c
|
||||
index 561b150f2..a8d6cd95b 100644
|
||||
--- a/pppd/sys-linux.c
|
||||
+++ b/pppd/sys-linux.c
|
||||
@@ -131,16 +131,6 @@
|
||||
#include <linux/netlink.h>
|
||||
#include <linux/rtnetlink.h>
|
||||
#include <linux/if_link.h>
|
||||
-
|
||||
-/* Attempt at retaining compile-support with older than 4.7 kernels, or kernels
|
||||
- * where RTM_NEWSTATS isn't defined for whatever reason.
|
||||
- */
|
||||
-#ifndef RTM_NEWSTATS
|
||||
-#define RTM_NEWSTATS 92
|
||||
-#define RTM_GETSTATS 94
|
||||
-#define IFLA_STATS_LINK_64 1
|
||||
-#endif
|
||||
-
|
||||
#include <linux/if_addr.h>
|
||||
|
||||
/* glibc versions prior to 2.24 do not define SOL_NETLINK */
|
||||
@@ -1776,6 +1766,7 @@ get_ppp_stats_ioctl(int u, struct pppd_stats *stats)
|
||||
static int
|
||||
get_ppp_stats_rtnetlink(int u, struct pppd_stats *stats)
|
||||
{
|
||||
+#ifdef RTM_NEWSTATS
|
||||
static int fd = -1;
|
||||
|
||||
struct {
|
||||
@@ -1825,6 +1816,7 @@ get_ppp_stats_rtnetlink(int u, struct pppd_stats *stats)
|
||||
err:
|
||||
close(fd);
|
||||
fd = -1;
|
||||
+#endif
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user