]> git.ozlabs.org Git - ppp.git/commitdiff
pppd/sys-linux: Fix compile with older Linux kernel headers (#452)
authorJaco Kroon <jaco@uls.co.za>
Tue, 31 Oct 2023 09:47:21 +0000 (11:47 +0200)
committerGitHub <noreply@github.com>
Tue, 31 Oct 2023 09:47:21 +0000 (20:47 +1100)
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>
pppd/sys-linux.c

index 561b150f2950a59777925303455a283dee174d27..a8d6cd95bee442f9e86af28578b28d4318fb8768 100644 (file)
 #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;
 }