net/ncsi: Configure VLAN tag filter
authorSamuel Mendoza-Jonas <sam@mendozajonas.com>
Mon, 28 Aug 2017 06:18:42 +0000 (16:18 +1000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Aug 2017 23:49:49 +0000 (16:49 -0700)
commit21acf63013ed3d6fce3176cc34b74064052a31b4
treef1bbaf1448d78d8bad745074677633add4e55724
parent8579a67e139b77a6881c405f9272afb9a7891201
net/ncsi: Configure VLAN tag filter

Make use of the ndo_vlan_rx_{add,kill}_vid callbacks to have the NCSI
stack process new VLAN tags and configure the channel VLAN filter
appropriately.
Several VLAN tags can be set and a "Set VLAN Filter" packet must be sent
for each one, meaning the ncsi_dev_state_config_svf state must be
repeated. An internal list of VLAN tags is maintained, and compared
against the current channel's ncsi_channel_filter in order to keep track
within the state. VLAN filters are removed in a similar manner, with the
introduction of the ncsi_dev_state_config_clear_vids state. The maximum
number of VLAN tag filters is determined by the "Get Capabilities"
response from the channel.

Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/ncsi.h
net/ncsi/internal.h
net/ncsi/ncsi-manage.c
net/ncsi/ncsi-rsp.c