On 5/26/2017 7:39 PM, Ajit Khaparde wrote: > This patch adds VLAN strip and offload callbacks. > To add a VLAN filter: > For each VNIC and each associated filter(s) > if VLAN exists: > if VLAN matches vlan_id > VLAN filter already exists, just skip and continue > else > add a new MAC+VLAN filter > else > Remove the old MAC only filter > Add a new MAC+VLAN filter > > To remove a VLAN filter: > For each VNIC and each associated filter(s) > if VLAN exists && VLAN matches vlan_id > remove the MAC+VLAN filter > add a new MAC only filter > else > VLAN filter doesn't exist, just skip and continue > > Signed-off-by: Ajit Khaparde <ajit.khapa...@broadcom.com>
This patch gives a build error [1] which seems fixed in next patch, can you please move fix to this patch. [1] .../drivers/net/bnxt/bnxt_ethdev.c: In function ‘bnxt_del_vlan_filter’: .../drivers/net/bnxt/bnxt_ethdev.c:1158:8: error: passing argument 2 of ‘bnxt_hwrm_set_filter’ makes pointer from integer without a cast [-Werror=int-conversion] vnic->fw_vnic_id, ^~~~ In file included from .../drivers/net/bnxt/bnxt_ethdev.c:46:0: .../drivers/net/bnxt/bnxt_hwrm.h:51:5: note: expected ‘struct bnxt_vnic_info *’ but argument is of type ‘uint16_t {aka short unsigned int}’ int bnxt_hwrm_set_filter(struct bnxt *bp, ^~~~~~~~~~~~~~~~~~~~ .../drivers/net/bnxt/bnxt_ethdev.c: In function ‘bnxt_add_vlan_filter’: .../drivers/net/bnxt/bnxt_ethdev.c:1232:35: error: passing argument 2 of ‘bnxt_hwrm_set_filter’ makes pointer from integer without a cast [-Werror=int-conversion] rc = bnxt_hwrm_set_filter(bp, vnic->fw_vnic_id, ^~~~ In file included from .../drivers/net/bnxt/bnxt_ethdev.c:46:0: .../drivers/net/bnxt/bnxt_hwrm.h:51:5: note: expected ‘struct bnxt_vnic_info *’ but argument is of type ‘uint16_t {aka short unsigned int}’ int bnxt_hwrm_set_filter(struct bnxt *bp, ^~~~~~~~~~~~~~~~~~~~