From 4aca87515a5083ae0e31ce3177189fd43b6d05ac Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sat, 3 Jan 2015 13:58:15 +0100 Subject: patch to Vanilla Tomato 1.28 --- .../busybox/networking/libiproute/ll_proto.c | 121 +++++++++++---------- 1 file changed, 65 insertions(+), 56 deletions(-) (limited to 'release/src/router/busybox/networking/libiproute/ll_proto.c') diff --git a/release/src/router/busybox/networking/libiproute/ll_proto.c b/release/src/router/busybox/networking/libiproute/ll_proto.c index 45afdb82..a9349353 100644 --- a/release/src/router/busybox/networking/libiproute/ll_proto.c +++ b/release/src/router/busybox/networking/libiproute/ll_proto.c @@ -1,3 +1,4 @@ +/* vi: set sw=4 ts=4: */ /* * ll_proto.c * @@ -9,79 +10,86 @@ * Authors: Alexey Kuznetsov, */ -#include -#include -#include +#include "libbb.h" +#include "rt_names.h" #include "utils.h" -#if __GLIBC__ >=2 && __GLIBC_MINOR >= 1 +#if defined(__GLIBC__) && __GLIBC__ >=2 && __GLIBC_MINOR__ >= 1 #include #else #include #endif +#if !ENABLE_WERROR +#warning de-bloat +#endif +/* Before re-enabling this, please (1) conditionalize exotic protocols + * on CONFIG_something, and (2) decouple strings and numbers + * (use llproto_ids[] = n,n,n..; and llproto_names[] = "loop\0" "pup\0" ...;) + */ + #define __PF(f,n) { ETH_P_##f, #n }, static struct { int id; - char *name; + const char *name; } llproto_names[] = { __PF(LOOP,loop) -__PF(PUP,pup) +__PF(PUP,pup) #ifdef ETH_P_PUPAT -__PF(PUPAT,pupat) +__PF(PUPAT,pupat) #endif __PF(IP,ip) __PF(X25,x25) __PF(ARP,arp) __PF(BPQ,bpq) #ifdef ETH_P_IEEEPUP -__PF(IEEEPUP,ieeepup) +__PF(IEEEPUP,ieeepup) #endif #ifdef ETH_P_IEEEPUPAT -__PF(IEEEPUPAT,ieeepupat) +__PF(IEEEPUPAT,ieeepupat) #endif -__PF(DEC,dec) -__PF(DNA_DL,dna_dl) -__PF(DNA_RC,dna_rc) -__PF(DNA_RT,dna_rt) -__PF(LAT,lat) -__PF(DIAG,diag) -__PF(CUST,cust) -__PF(SCA,sca) -__PF(RARP,rarp) -__PF(ATALK,atalk) -__PF(AARP,aarp) -__PF(IPX,ipx) -__PF(IPV6,ipv6) +__PF(DEC,dec) +__PF(DNA_DL,dna_dl) +__PF(DNA_RC,dna_rc) +__PF(DNA_RT,dna_rt) +__PF(LAT,lat) +__PF(DIAG,diag) +__PF(CUST,cust) +__PF(SCA,sca) +__PF(RARP,rarp) +__PF(ATALK,atalk) +__PF(AARP,aarp) +__PF(IPX,ipx) +__PF(IPV6,ipv6) #ifdef ETH_P_PPP_DISC -__PF(PPP_DISC,ppp_disc) +__PF(PPP_DISC,ppp_disc) #endif #ifdef ETH_P_PPP_SES -__PF(PPP_SES,ppp_ses) +__PF(PPP_SES,ppp_ses) #endif #ifdef ETH_P_ATMMPOA -__PF(ATMMPOA,atmmpoa) +__PF(ATMMPOA,atmmpoa) #endif #ifdef ETH_P_ATMFATE -__PF(ATMFATE,atmfate) +__PF(ATMFATE,atmfate) #endif -__PF(802_3,802_3) -__PF(AX25,ax25) -__PF(ALL,all) -__PF(802_2,802_2) -__PF(SNAP,snap) -__PF(DDCMP,ddcmp) -__PF(WAN_PPP,wan_ppp) -__PF(PPP_MP,ppp_mp) -__PF(LOCALTALK,localtalk) -__PF(PPPTALK,ppptalk) -__PF(TR_802_2,tr_802_2) -__PF(MOBITEX,mobitex) -__PF(CONTROL,control) -__PF(IRDA,irda) +__PF(802_3,802_3) +__PF(AX25,ax25) +__PF(ALL,all) +__PF(802_2,802_2) +__PF(SNAP,snap) +__PF(DDCMP,ddcmp) +__PF(WAN_PPP,wan_ppp) +__PF(PPP_MP,ppp_mp) +__PF(LOCALTALK,localtalk) +__PF(PPPTALK,ppptalk) +__PF(TR_802_2,tr_802_2) +__PF(MOBITEX,mobitex) +__PF(CONTROL,control) +__PF(IRDA,irda) #ifdef ETH_P_ECONET -__PF(ECONET,econet) +__PF(ECONET,econet) #endif { 0x8100, "802.1Q" }, @@ -90,31 +98,32 @@ __PF(ECONET,econet) #undef __PF -char * ll_proto_n2a(unsigned short id, char *buf, int len) +const char *ll_proto_n2a(unsigned short id, char *buf, int len) { - int i; - + unsigned i; id = ntohs(id); - - for (i=0; i 0xffff) return -1; - *id = htons(*id); + good: + *id = htons(i); return 0; } + -- cgit v1.2.3-54-g00ecf