When a non-zero VLAN Tag ID is passed to t4_set_vlan_acl()
then impose mandatory VLAN Usage with that VLAN ID.
I.e any other VLAN ID should result in packets getting
dropped.
Signed-off-by: Casey Leedom <leedom@chelsio.com>
Signed-off-by: Ganesh Goudar <ganeshgr@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
        vlan_cmd.en_to_len16 = cpu_to_be32(enable | FW_LEN16(vlan_cmd));
        /* Drop all packets that donot match vlan id */
        vlan_cmd.dropnovlan_fm = FW_ACL_VLAN_CMD_FM_F;
+       vlan_cmd.dropnovlan_fm = (enable
+                                 ? (FW_ACL_VLAN_CMD_DROPNOVLAN_F |
+                                    FW_ACL_VLAN_CMD_FM_F) : 0);
        if (enable != 0) {
                vlan_cmd.nvlan = 1;
                vlan_cmd.vlanid[0] = cpu_to_be16(vlan);
 
 
 #define FW_ACL_VLAN_CMD_DROPNOVLAN_S   7
 #define FW_ACL_VLAN_CMD_DROPNOVLAN_V(x)        ((x) << FW_ACL_VLAN_CMD_DROPNOVLAN_S)
+#define FW_ACL_VLAN_CMD_DROPNOVLAN_F    FW_ACL_VLAN_CMD_DROPNOVLAN_V(1U)
 
 #define FW_ACL_VLAN_CMD_FM_S           6
 #define FW_ACL_VLAN_CMD_FM_M           0x1