From: Stephen Hemminger <step...@networkplumber.org> Date: Sun, 7 Feb 2016 11:37:32 -0800
> On Mon, 1 Feb 2016 18:51:05 -0500 > Jarod Wilson <ja...@redhat.com> wrote: > >> --- 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.