On 07/21/2015 12:28 AM, Stephen Hemminger wrote:
> On Fri, 10 Jul 2015 08:02:08 -0700
> Nikolay Aleksandrov <niko...@cumulusnetworks.com> wrote:
> 
>> diff --git a/include/uapi/linux/if_bridge.h b/include/uapi/linux/if_bridge.h
>> index eaaea6208b42..3635b7797508 100644
>> --- a/include/uapi/linux/if_bridge.h
>> +++ b/include/uapi/linux/if_bridge.h
>> @@ -182,6 +182,7 @@ struct br_mdb_entry {
>>  #define MDB_TEMPORARY 0
>>  #define MDB_PERMANENT 1
>>      __u8 state;
>> +    __u16 vid;
>>      struct {
>>              union {
>>                      __be32  ip4;
> 
> You added a new field into an unused hole in a data
> structure shared as part of API with user space.
> 
> This seems like it might break when newer iproute
> is run on older kernels. The vid would always be 0
> on show and ignored when adding entries.
> 

I thought it'd be fine because the vid was 0 anyway and 
when it's 0 it's not shown i.e. no vid so the show command
will have the same output. And when set - it'll be ignored
which is again as the behaviour before when it couldn't be
specified.

Here's the new iproute2 on an older kernel:
# ./bridge/bridge mdb add dev virbr0 port vnet1 grp 239.0.0.1 permanent vid 200
# ./bridge/bridge mdb
dev virbr0 port vnet1 grp 239.0.0.1 permanent
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to