[Bridge] [PATCH net-next] bridge: vlan: flush the dynamically learned entries on port vlan delete

Nikolay Aleksandrov nikolay at cumulusnetworks.com
Tue Jun 23 15:16:09 UTC 2015


> On Jun 23, 2015, at 6:02 PM, Toshiaki Makita <toshiaki.makita1 at gmail.com> wrote:
> 
> On 15/06/23 (火) 21:28, Nikolay Aleksandrov wrote:
>> Add a new argument to br_fdb_delete_by_port which allows to specify a
>> vid to match when flushing entries and use it in nbp_vlan_delete() to
>> flush the dynamically learned entries of the vlan/port pair when removing
>> a vlan from a port. Before this patch only the local mac was being
>> removed and the dynamically learned ones were left to expire.
>> Note that the do_all argument is still respected and if specified, the
>> vid will be ignored.
>> 
>> Signed-off-by: Nikolay Aleksandrov <nikolay at cumulusnetworks.com>
>> ---
>> note: There are 2 warnings, the C99 comment was already there and the 81
>>       char line is the prototype and I think it looks better this way.
>>       One unclear thing is about vid 0, I see that it can be passed to
>>       nbp_vlan_(add|delete) although the comment says it shouldn't.
> 
> nbp_vlan_add() should not be called with vid 0 because vid 0 of fdb
> entries is internally used when vlan_filtering is disabled, and such
> entries are exposed to userspace as those without any vlan id.
> bridge's vlan_filtering is respecting 802.1Q-2011 spec, which says vid 0
> cannot be used as a normal vlan id.
> If vlan 0 can be added, it should be a bug.
> 
> Toshiaki Makita

Right, that is my understanding as well. I’ll look into this and post a fix
if necessary.

Thanks,
 Nik


More information about the Bridge mailing list