bridge: Fix inability to add non-vlan fdb entry
authorToshiaki Makita <makita.toshiaki@lab.ntt.co.jp>
Mon, 9 Feb 2015 11:16:17 +0000 (20:16 +0900)
committerDavid S. Miller <davem@davemloft.net>
Mon, 9 Feb 2015 22:19:04 +0000 (14:19 -0800)
commit25d3b493a52d4ece811ba07881558fc7f6778fb8
tree1f3e101ca4fd32471448cadaf0c8daf9ce15a529
parentb750f5b4273316b4bb4d0a4a474c1eeaf0833648
bridge: Fix inability to add non-vlan fdb entry

Bridge's default_pvid adds a vid by default, by which we cannot add a
non-vlan fdb entry by default, because br_fdb_add() adds fdb entries for
all vlans instead of a non-vlan one when any vlan is configured.

 # ip link add br0 type bridge
 # ip link set eth0 master br0
 # bridge fdb add 12:34:56:78:90:ab dev eth0 master temp
 # bridge fdb show brport eth0 | grep 12:34:56:78:90:ab
 12:34:56:78:90:ab dev eth0 vlan 1 static

We expect a non-vlan fdb entry as well as vlan 1:
 12:34:56:78:90:ab dev eth0 static

To fix this, we need to insert a non-vlan fdb entry if vlan is not
specified, even when any vlan is configured.

Fixes: 5be5a2df40f0 ("bridge: Add filtering support for default_pvid")
Signed-off-by: Toshiaki Makita <makita.toshiaki@lab.ntt.co.jp>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/bridge/br_fdb.c