Re: [PATCH net v3 2/4] net: add rx_nohandler stat counter
From: David Miller <davem@davemloft.net>
Date: 2016-02-07 19:46:55
Also in:
lkml
From: David Miller <davem@davemloft.net>
Date: 2016-02-07 19:46:55
Also in:
lkml
From: Stephen Hemminger <stephen@networkplumber.org> Date: Sun, 7 Feb 2016 11:37:32 -0800
On Mon, 1 Feb 2016 18:51:05 -0500 Jarod Wilson [off-list ref] wrote:quoted
--- a/include/uapi/linux/if_link.h +++ b/include/uapi/linux/if_link.h@@ -35,6 +35,8 @@ struct rtnl_link_stats { /* for cslip etc */ __u32 rx_compressed; __u32 tx_compressed; + + __u32 rx_nohandler; /* dropped, no handler found */ }; /* The main device statistics structure */@@ -68,6 +70,8 @@ struct rtnl_link_stats64 { /* for cslip etc */ __u64 rx_compressed; __u64 tx_compressed; + + __u64 rx_nohandler; /* dropped, no handler found */ };Why was this userspace ABI change allowed? The stats structure is exposed to user space via netlink and changing the size of responses will break iproute2 commands. The code will be expecting one size and the response will vary and break existing code. Yes, the code should check the size of the response, but it doesn't and I am sure iproute2 is not the only code that does this.
Jarod, please look into this.