Merge branch 'GREoIPV6-followups'
[deliverable/linux.git] / drivers / net / ethernet / intel / i40evf / i40evf_main.c
index b548dbe78cd3439bc0293c27283ee8a072536e2c..16c5529528600324a1f3116ac7023d7b57b3d6c9 100644 (file)
@@ -934,6 +934,13 @@ bottom_of_search_loop:
                 adapter->flags & I40EVF_FLAG_PROMISC_ON)
                adapter->aq_required |= I40EVF_FLAG_AQ_RELEASE_PROMISC;
 
+       if (netdev->flags & IFF_ALLMULTI &&
+           !(adapter->flags & I40EVF_FLAG_ALLMULTI_ON))
+               adapter->aq_required |= I40EVF_FLAG_AQ_REQUEST_ALLMULTI;
+       else if (!(netdev->flags & IFF_ALLMULTI) &&
+                adapter->flags & I40EVF_FLAG_ALLMULTI_ON)
+               adapter->aq_required |= I40EVF_FLAG_AQ_RELEASE_ALLMULTI;
+
        clear_bit(__I40EVF_IN_CRITICAL_TASK, &adapter->crit_section);
 }
 
@@ -1612,7 +1619,13 @@ static void i40evf_watchdog_task(struct work_struct *work)
                goto watchdog_done;
        }
 
-       if (adapter->aq_required & I40EVF_FLAG_AQ_RELEASE_PROMISC) {
+       if (adapter->aq_required & I40EVF_FLAG_AQ_REQUEST_ALLMULTI) {
+               i40evf_set_promiscuous(adapter, I40E_FLAG_VF_MULTICAST_PROMISC);
+               goto watchdog_done;
+       }
+
+       if ((adapter->aq_required & I40EVF_FLAG_AQ_RELEASE_PROMISC) &&
+           (adapter->aq_required & I40EVF_FLAG_AQ_RELEASE_ALLMULTI)) {
                i40evf_set_promiscuous(adapter, 0);
                goto watchdog_done;
        }
@@ -2217,8 +2230,8 @@ int i40evf_process_config(struct i40evf_adapter *adapter)
                                   NETIF_F_TSO6                 |
                                   NETIF_F_GSO_GRE              |
                                   NETIF_F_GSO_GRE_CSUM         |
-                                  NETIF_F_GSO_IPIP             |
-                                  NETIF_F_GSO_SIT              |
+                                  NETIF_F_GSO_IPXIP4           |
+                                  NETIF_F_GSO_IPXIP6           |
                                   NETIF_F_GSO_UDP_TUNNEL       |
                                   NETIF_F_GSO_UDP_TUNNEL_CSUM  |
                                   NETIF_F_GSO_PARTIAL          |
This page took 0.032944 seconds and 5 git commands to generate.