netns_ifaddrs: only use struct rtnl_link_stats64

parent 1f470bd5
...@@ -233,16 +233,13 @@ static int nl_msg_to_ifaddr(void *pctx, bool *netnsid_aware, struct nlmsghdr *h) ...@@ -233,16 +233,13 @@ static int nl_msg_to_ifaddr(void *pctx, bool *netnsid_aware, struct nlmsghdr *h)
#if HAVE_STRUCT_RTNL_LINK_STATS64 #if HAVE_STRUCT_RTNL_LINK_STATS64
case IFLA_STATS64: case IFLA_STATS64:
ifs->ifa.ifa_stats_type = IFLA_STATS64; ifs->ifa.ifa_stats_type = IFLA_STATS64;
memcpy(&ifs->ifa.ifa_stats64, __RTA_DATA(rta),
__RTA_DATALEN(rta));
break;
#else #else
case IFLA_STATS: case IFLA_STATS:
ifs->ifa.ifa_stats_type = IFLA_STATS; ifs->ifa.ifa_stats_type = IFLA_STATS;
memcpy(&ifs->ifa.ifa_stats32, __RTA_DATA(rta), #endif
memcpy(&ifs->ifa.ifa_stats, __RTA_DATA(rta),
__RTA_DATALEN(rta)); __RTA_DATALEN(rta));
break; break;
#endif
case IFLA_MTU: case IFLA_MTU:
memcpy(&ifs->ifa.ifa_mtu, __RTA_DATA(rta), memcpy(&ifs->ifa.ifa_mtu, __RTA_DATA(rta),
sizeof(int)); sizeof(int));
......
...@@ -40,8 +40,11 @@ struct netns_ifaddrs { ...@@ -40,8 +40,11 @@ struct netns_ifaddrs {
/* These fields are not present struct ifaddrs. */ /* These fields are not present struct ifaddrs. */
int ifa_stats_type; int ifa_stats_type;
struct rtnl_link_stats ifa_stats32; #if HAVE_STRUCT_RTNL_LINK_STATS64
struct rtnl_link_stats64 ifa_stats64; struct rtnl_link_stats64 ifa_stats;
#else
struct rtnl_link_stats ifa_stats;
#endif
}; };
#define __ifa_broadaddr ifa_ifu.ifu_broadaddr #define __ifa_broadaddr ifa_ifu.ifu_broadaddr
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment