Hi David, On Wed, 11 Dec 2019 12:01:20 -0800 (PST), David Miller <davem@xxxxxxxxxxxxx> wrote: > >> >> /* Bridge multicast database attributes > >> >> * [MDBA_MDB] = { > >> >> * [MDBA_MDB_ENTRY] = { > >> >> @@ -261,6 +270,7 @@ enum { > >> >> BRIDGE_XSTATS_UNSPEC, > >> >> BRIDGE_XSTATS_VLAN, > >> >> BRIDGE_XSTATS_MCAST, > >> >> + BRIDGE_XSTATS_STP, > >> >> BRIDGE_XSTATS_PAD, > >> >> __BRIDGE_XSTATS_MAX > >> >> }; > >> > > >> > Shouldn't the new entry be appended to the end - after BRIDGE_XSTATS_PAD > >> > > >> > >> Oh yes, good catch. That has to be fixed, too. > >> > > > > This I don't get. Why new attributes must come between BRIDGE_XSTATS_PAD > > and __BRIDGE_XSTATS_MAX? > > Because, just like any other attribute value, BRIDGE_XSTATS_PAD is an > API and fixed in stone. You can't add things before it which change > it's value. I thought the whole point of using enums was to avoid caring about fixed numeric values, but well. To be more precise, what I don't get is that when I move the BRIDGE_XSTATS_STP definition *after* BRIDGE_XSTATS_PAD, the STP xstats don't show up anymore in iproute2. Thanks, Vivien