Some network macro's have been removed from 2.6.19+ kernels.

James Newell jnewell at wgate.com
Fri Mar 2 11:15:48 PST 2007


It appears IFA_RTA, IFA_PAYLOAD, IFLA_RTA, IFLA_PAYLOAD network macros
used by ipaddress.c, and ll_map.c were removed by the 2.6.19+ kernel.  A
compiler built using the new kernel headers will fail to build busybox
1.2.2.  If this has already been found, and fixed in later releases
please ignore.

Thanks,
Jim

Index: networking/libiproute/ipaddress.c
===================================================================
--- networking/libiproute/ipaddress.c   (revision 55)
+++ networking/libiproute/ipaddress.c   (working copy)
@@ -19,6 +19,7 @@

 #include <net/if.h>
 #include <net/if_arp.h>
+#include <linux/if_addr.h>

 #include "rt_names.h"
 #include "utils.h"
Index: include/libbb.h
===================================================================
--- include/libbb.h     (revision 55)
+++ include/libbb.h     (working copy)
@@ -31,6 +31,22 @@
 #include <termios.h>
 #include <unistd.h>

+#ifndef IFA_RTA
+#define IFA_RTA(r)  ((struct rtattr*)(((char*)(r)) +
NLMSG_ALIGN(sizeof(struct ifaddrmsg))))
+#endif
+
+#ifndef IFA_PAYLOAD
+#define IFA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifaddrmsg))
+#endif
+
+#ifndef IFLA_RTA
+#define IFLA_RTA(r)  ((struct rtattr*)(((char*)(r)) +
NLMSG_ALIGN(sizeof(struct ifinfomsg))))
+#endif
+
+#ifndef IFLA_PAYLOAD
+#define IFLA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifinfomsg))
+#endif
+
 #ifdef CONFIG_SELINUX
 #include <selinux/selinux.h>
 #endif




More information about the busybox mailing list