iavf: remove active_cvlans and active_svlans bitmaps
[linux-2.6-microblaze.git] / drivers / net / ethernet / intel / iavf / iavf.h
index 692d6a6..746ff76 100644 (file)
@@ -59,8 +59,6 @@ enum iavf_vsi_state_t {
 struct iavf_vsi {
        struct iavf_adapter *back;
        struct net_device *netdev;
-       unsigned long active_cvlans[BITS_TO_LONGS(VLAN_N_VID)];
-       unsigned long active_svlans[BITS_TO_LONGS(VLAN_N_VID)];
        u16 seid;
        u16 id;
        DECLARE_BITMAP(state, __IAVF_VSI_STATE_SIZE__);
@@ -163,7 +161,9 @@ enum iavf_vlan_state_t {
        IAVF_VLAN_ADD,          /* filter needs to be added */
        IAVF_VLAN_IS_NEW,       /* filter is new, wait for PF answer */
        IAVF_VLAN_ACTIVE,       /* filter is accepted by PF */
-       IAVF_VLAN_REMOVE,       /* filter needs to be removed */
+       IAVF_VLAN_DISABLE,      /* filter needs to be deleted by PF, then marked INACTIVE */
+       IAVF_VLAN_INACTIVE,     /* filter is inactive, we are in IFF_DOWN */
+       IAVF_VLAN_REMOVE,       /* filter needs to be removed from list */
 };
 
 struct iavf_vlan_filter {
@@ -261,6 +261,7 @@ struct iavf_adapter {
        wait_queue_head_t vc_waitqueue;
        struct iavf_q_vector *q_vectors;
        struct list_head vlan_filter_list;
+       int num_vlan_filters;
        struct list_head mac_filter_list;
        struct mutex crit_lock;
        struct mutex client_lock;