@@ -37,7 +37,10 @@ static struct flag_names iflatypes[] =
3737 { ARPHRD_X25 , "x25" },
3838 { ARPHRD_HWX25 , "hwx25" },
3939 { ARPHRD_CAN , "can" },
40+ #if defined (ARPHRD_MCTP )
41+ // 2025-May: kernel version dependent
4042 { ARPHRD_MCTP , "mctp" },
43+ #endif
4144 { ARPHRD_PPP , "ppp" },
4245 { ARPHRD_CISCO , "cisco" },
4346 { ARPHRD_HDLC , "hdlc" },
@@ -145,7 +148,10 @@ static struct flag_names rtprots[] = {
145148 { RTPROT_MROUTED , "mrouted" },
146149 { RTPROT_KEEPALIVED , "keepalived" },
147150 { RTPROT_BABEL , "babel" },
151+ #if defined (RTPROT_OPENR )
152+ // 2025-May: kernel version dependent
148153 { RTPROT_OPENR , "openr" },
154+ #endif
149155 { RTPROT_BGP , "bgp" },
150156 { RTPROT_ISIS , "isis" },
151157 { RTPROT_OSPF , "ospf" },
@@ -185,7 +191,10 @@ static struct flag_names rtmflags[] = {
185191 { RTM_F_FIB_MATCH , "fib_match" },
186192 { RTM_F_OFFLOAD , "offload" },
187193 { RTM_F_TRAP , "trap" },
194+ #if defined (RTM_F_OFFLOAD_FAILED )
195+ // 2025-May: kernel version dependent
188196 { RTM_F_OFFLOAD_FAILED , "offload_failed" },
197+ #endif
189198};
190199
191200static struct flag_names rtnhflags [] = {
@@ -195,7 +204,10 @@ static struct flag_names rtnhflags[] = {
195204 { RTNH_F_OFFLOAD , "offload" },
196205 { RTNH_F_LINKDOWN , "linkdown" },
197206 { RTNH_F_UNRESOLVED , "unresolved" },
207+ #if defined (RTNH_F_TRAP )
208+ // 2025-May: kernel version dependent
198209 { RTNH_F_TRAP , "trap" },
210+ #endif
199211};
200212
201213static struct flag_names ifstates [] = {
@@ -439,10 +451,16 @@ static const char *__attribute__ ((const)) iflaTypeToString(const int ifla_type)
439451 return "perm_address" ;
440452 case IFLA_PROTO_DOWN_REASON :
441453 return "proto_down_reason" ;
454+ #if defined (IFLA_PARENT_DEV_NAME )
455+ // 2025-May: kernel version dependent
442456 case IFLA_PARENT_DEV_NAME :
443457 return "parent_dev_name" ;
458+ #endif
459+ #if defined (IFLA_PARENT_DEV_BUS_NAME )
460+ // 2025-May: kernel version dependent
444461 case IFLA_PARENT_DEV_BUS_NAME :
445462 return "parent_dev_bus_name" ;
463+ #endif
446464 default :
447465 return "unknown" ;
448466 }
@@ -522,10 +540,16 @@ static const char *__attribute__ ((const)) family_name(int family)
522540 return "wanpipe" ;
523541 case PF_LLC :
524542 return "llc" ;
543+ #if defined (PF_IB )
544+ // 2025-May: defined by glibc but not uClibc
525545 case PF_IB :
526546 return "ib" ;
547+ #endif
548+ #if defined (PF_MPLS )
549+ // 2025-May: defined by glibc but not uClibc
527550 case PF_MPLS :
528551 return "mpls" ;
552+ #endif
529553 case PF_CAN :
530554 return "can" ;
531555 case PF_TIPC :
@@ -556,8 +580,11 @@ static const char *__attribute__ ((const)) family_name(int family)
556580 return "qipcrtr" ;
557581 case PF_SMC :
558582 return "smc" ;
583+ #if defined (PF_XDP )
584+ // 2025-May: defined by glibc but not uClibc
559585 case PF_XDP :
560586 return "xdp" ;
587+ #endif
561588#ifdef PF_MCTP
562589 // 2024-July: defined by glibc but not musl
563590 case PF_MCTP :
0 commit comments