avf: check for VLAN_TOGGLE capability 79/37079/2
authorMohammed Hawari <mohammed@hawari.fr>
Tue, 6 Sep 2022 16:08:12 +0000 (18:08 +0200)
committerDamjan Marion <dmarion@0xa5.net>
Thu, 8 Sep 2022 12:02:14 +0000 (12:02 +0000)
The ability to modify the vlan setting must be checked prior to using
VIRTCHNL_OP_DISABLE_VLAN_STRIPPING_V2 both for inner and outer vlan
stripping

Change-Id: Iffe306c34b81a6077ad6ba5deb3f5b61b5475897
Type: fix
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
src/plugins/avf/device.c

index d12785c..ae6597d 100644 (file)
@@ -1038,6 +1038,12 @@ avf_device_init (vlib_main_t * vm, avf_main_t * am, avf_device_t * ad,
       outer = vc.offloads.stripping_support.outer & mask;
       inner = vc.offloads.stripping_support.inner & mask;
 
+      /* Check for ability to modify the VLAN setting */
+      outer =
+       vc.offloads.stripping_support.outer & VIRTCHNL_VLAN_TOGGLE ? outer : 0;
+      inner =
+       vc.offloads.stripping_support.inner & VIRTCHNL_VLAN_TOGGLE ? inner : 0;
+
       if ((outer || inner) &&
          (error = avf_op_disable_vlan_stripping_v2 (vm, ad, outer, inner)))
        return error;