aboutsummaryrefslogtreecommitdiffstats
path: root/net/8021q/vlan_core.c
diff options
context:
space:
mode:
authorIvan Khoronzhuk <ivan.khoronzhuk@linaro.org>2018-11-08 22:27:54 +0200
committerDavid S. Miller <davem@davemloft.net>2018-11-08 20:30:57 -0800
commite7946760de5852f32c4e52ce47f37e85346981b9 (patch)
tree0d128b48eaede2259167293cf23c622e04b5e837 /net/8021q/vlan_core.c
parentsfc: use the new __netdev_tx_sent_queue BQL optimisation (diff)
downloadlinux-dev-e7946760de5852f32c4e52ce47f37e85346981b9.tar.xz
linux-dev-e7946760de5852f32c4e52ce47f37e85346981b9.zip
net: core: dev_addr_lists: add auxiliary func to handle reference address updates
In order to avoid all table update, and only remove or add new address, the auxiliary function exists, named __hw_addr_sync_dev(). It allows end driver do nothing when nothing changed and add/rm when concrete address is firstly added or lastly removed. But it doesn't include cases when an address of real device or vlan was reused by other vlans or vlan/macval devices. For handaling events when address was reused/unreused the patch adds new auxiliary routine - __hw_addr_ref_sync_dev(). It allows to do nothing when nothing was changed and do updates only for an address being added/reused/deleted/unreused. Thus, clone address changes for vlans can be mirrored in the table. The function is exclusive with __hw_addr_sync_dev(). It's responsibility of the end driver to identify address vlan device, if it needs so. Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions