diff options
author | Eric Andersen | 2003-06-20 09:05:00 +0000 |
---|---|---|
committer | Eric Andersen | 2003-06-20 09:05:00 +0000 |
commit | 0f08e53535a7a1c0d4f7699f2e4224a255921559 (patch) | |
tree | ceebbc8c3fd94050aaf8a775807a49ae25286981 | |
parent | 8876fb2f59a0b515b3121d5894933eef88ce566a (diff) | |
download | busybox-0f08e53535a7a1c0d4f7699f2e4224a255921559.zip busybox-0f08e53535a7a1c0d4f7699f2e4224a255921559.tar.gz |
Patch from Lars Kellogg-Stedman:
I'm building BusyBox using a development kit for MontaVista Hardhat Linux
(PPC) -- which, at least in this instance, is based around kernel 2.2.14.
I've had to massage a few files in networking/libiproute/ to make it
compile. Specifically:
(1) Added a #include <sys/uio.h> for the iovec structure in
libnetlink.c,
(2) Put ifdefs in ll_types.c and ll_proto.c around various
constants (ETH_P_xxx and ARPHRD_xxx) that weren't defined,
(3) Make do_changename() in iplink.c require a kernel >=
2.4.0 -- the ifr structure in my environment doesn't
have the ifr_name attribute. I've assumed this is
a kernel dependency -- let me know if I ought to be
checking something else.
In the absence of the correct kernel, do_changename()
always returns 0.
Attached is a patch against the current CVS that will make these changes.
-- Lars
-rw-r--r-- | networking/libiproute/iplink.c | 4 | ||||
-rw-r--r-- | networking/libiproute/libnetlink.c | 2 | ||||
-rw-r--r-- | networking/libiproute/ll_proto.c | 10 | ||||
-rw-r--r-- | networking/libiproute/ll_types.c | 6 |
4 files changed, 22 insertions, 0 deletions
diff --git a/networking/libiproute/iplink.c b/networking/libiproute/iplink.c index f826ba0..daab693 100644 --- a/networking/libiproute/iplink.c +++ b/networking/libiproute/iplink.c @@ -12,6 +12,7 @@ #include <sys/ioctl.h> #include <sys/socket.h> +#include <linux/version.h> #include <errno.h> #include <stdlib.h> @@ -95,6 +96,7 @@ static int do_chflags(char *dev, __u32 flags, __u32 mask) static int do_changename(char *dev, char *newdev) { +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 0) struct ifreq ifr; int fd; int err; @@ -112,6 +114,8 @@ static int do_changename(char *dev, char *newdev) } close(fd); return err; +#endif + return 0; } static int set_qlen(char *dev, int qlen) diff --git a/networking/libiproute/libnetlink.c b/networking/libiproute/libnetlink.c index 0441193..9390e56 100644 --- a/networking/libiproute/libnetlink.c +++ b/networking/libiproute/libnetlink.c @@ -18,6 +18,8 @@ #include <time.h> #include <unistd.h> +#include <sys/uio.h> + #include "libnetlink.h" #include "libbb.h" diff --git a/networking/libiproute/ll_proto.c b/networking/libiproute/ll_proto.c index d7b1ded..cfdb34e 100644 --- a/networking/libiproute/ll_proto.c +++ b/networking/libiproute/ll_proto.c @@ -51,10 +51,18 @@ __PF(ATALK,atalk) __PF(AARP,aarp) __PF(IPX,ipx) __PF(IPV6,ipv6) +#ifdef ETH_P_PPP_DISC __PF(PPP_DISC,ppp_disc) +#endif +#ifdef ETH_P_PPP_SES __PF(PPP_SES,ppp_ses) +#endif +#ifdef ETH_P_ATMMPOA __PF(ATMMPOA,atmmpoa) +#endif +#ifdef ETH_P_ATMFATE __PF(ATMFATE,atmfate) +#endif __PF(802_3,802_3) __PF(AX25,ax25) @@ -70,7 +78,9 @@ __PF(TR_802_2,tr_802_2) __PF(MOBITEX,mobitex) __PF(CONTROL,control) __PF(IRDA,irda) +#ifdef ETH_P_ECONET __PF(ECONET,econet) +#endif { 0x8100, "802.1Q" }, { ETH_P_IP, "ipv4" }, diff --git a/networking/libiproute/ll_types.c b/networking/libiproute/ll_types.c index 925d60d..f39f777 100644 --- a/networking/libiproute/ll_types.c +++ b/networking/libiproute/ll_types.c @@ -34,7 +34,9 @@ __PF(IEEE802,tr) __PF(ARCNET,arcnet) __PF(APPLETLK,atalk) __PF(DLCI,dlci) +#ifdef ARPHRD_ATM __PF(ATM,atm) +#endif __PF(METRICOM,metricom) #ifdef ARPHRD_IEEE1394 __PF(IEEE1394,ieee1394) @@ -48,12 +50,16 @@ __PF(RSRVD,rsrvd) __PF(ADAPT,adapt) __PF(ROSE,rose) __PF(X25,x25) +#ifdef ARPHRD_HWX25 __PF(HWX25,hwx25) +#endif __PF(PPP,ppp) __PF(HDLC,hdlc) __PF(LAPB,lapb) +#ifdef ARPHRD_DDCMP __PF(DDCMP,ddcmp) __PF(RAWHDLC,rawhdlc) +#endif __PF(TUNNEL,ipip) __PF(TUNNEL6,tunnel6) |