]> git.baikalelectronics.ru Git - kernel.git/commit
rocker: install/remove router MAC for untagged VLAN when joining/leaving bridge
authorScott Feldman <sfeldma@gmail.com>
Mon, 1 Jun 2015 18:39:05 +0000 (11:39 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 2 Jun 2015 00:00:09 +0000 (17:00 -0700)
commitca5fc02049a28c6b8eb392f0afc4fe9a195da9d2
treeabb6d24003594376907fc840f7227c4cea4e4c5e
parent12596855bf62b1c8261442efb7d44a93f9063550
rocker: install/remove router MAC for untagged VLAN when joining/leaving bridge

When the port joins a bridge, the port's internal VLAN ID needs to change
to the bridge's internal VLAN ID.  Likewise, when leaving the bridge, the
internal VLAN ID reverts back the port's original internal VLAN ID.  (The
internal VLAN ID is used by device to internally mark untagged pkts with
some VLAN, which will eventually be removed on egress...think PVID).  When
the internal VLAN ID changes, we need to update the VLAN table entries and
the router MAC entries for IP/IPv6 to reflect the new internal VLAN ID.

This patch makes use of the common rocker_port_vlan_add/del functions to
make sure the tables are updated for the current internal VLAN ID.

Signed-off-by: Scott Feldman <sfeldma@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/rocker/rocker.c