]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
Revert "i40e: Set defport behavior for the Main VSI when in promiscuous mode"
authorBrian Maly <brian.maly@oracle.com>
Mon, 25 Jan 2016 15:53:22 +0000 (10:53 -0500)
committerChuck Anderson <chuck.anderson@oracle.com>
Fri, 29 Jan 2016 15:26:58 +0000 (07:26 -0800)
Orabug: 22519254

This reverts mainline commit c0496c116b2d6a53f67e1795beca6e7f319a1657.

Conflicts:
drivers/net/ethernet/intel/i40e/i40e_main.c
Signed-off-by: Brian Maly <brian.maly@oracle.com>
drivers/net/ethernet/intel/i40e/i40e.h
drivers/net/ethernet/intel/i40e/i40e_main.c

index f5fcb42844ae30ddf53ef49b656e252618e17636..bba50c47a06eb14bd0d2bbf199055b178d2c2a99 100644 (file)
@@ -372,7 +372,6 @@ struct i40e_pf {
 #ifdef CONFIG_DEBUG_FS
        struct dentry *i40e_dbg_pf;
 #endif /* CONFIG_DEBUG_FS */
-       bool cur_promisc;
 
        u16 instance; /* A unique number per i40e_pf instance in the system */
 
index 8e81edf6aaaa84faf20dfd3ef2c95bd76ffa2fb5..44661d61980c0fad4337065427004c0a5fde1ff5 100644 (file)
@@ -1938,39 +1938,16 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi, bool grab_rtnl)
                cur_promisc = (!!(vsi->current_netdev_flags & IFF_PROMISC) ||
                               test_bit(__I40E_FILTER_OVERFLOW_PROMISC,
                                        &vsi->state));
-               if (vsi->type == I40E_VSI_MAIN && pf->lan_veb != I40E_NO_VEB) {
-                       /* set defport ON for Main VSI instead of true promisc
-                        * this way we will get all unicast/multicast and VLAN
-                        * promisc behavior but will not get VF or VMDq traffic
-                        * replicated on the Main VSI.
-                        */
-                       if (pf->cur_promisc != cur_promisc) {
-                               pf->cur_promisc = cur_promisc;
-                               if (grab_rtnl)
-                                       i40e_do_reset_safe(pf,
-                                               BIT(__I40E_PF_RESET_REQUESTED));
-                               else
-                                       i40e_do_reset(pf,
-                                               BIT(__I40E_PF_RESET_REQUESTED));
-                       }
-               } else {
-                       ret = i40e_aq_set_vsi_unicast_promiscuous(
-                                                         &vsi->back->hw,
-                                                         vsi->seid,
-                                                         cur_promisc, NULL);
-                       if (ret)
-                               dev_info(&pf->pdev->dev,
-                                        "set unicast promisc failed, err %d, aq_err %d\n",
-                                        ret, pf->hw.aq.asq_last_status);
-                       ret = i40e_aq_set_vsi_multicast_promiscuous(
-                                                         &vsi->back->hw,
+
+               ret = i40e_aq_set_vsi_unicast_promiscuous(&vsi->back->hw,
                                                          vsi->seid,
                                                          cur_promisc, NULL);
-                       if (ret)
-                               dev_info(&pf->pdev->dev,
-                                        "set multicast promisc failed, err %d, aq_err %d\n",
-                                        ret, pf->hw.aq.asq_last_status);
-               }
+               if (ret)
+                       dev_info(&pf->pdev->dev,
+                                "set uni promisc failed, err %s, aq_err %s\n",
+                                i40e_stat_str(&pf->hw, ret),
+                                i40e_aq_str(&pf->hw,
+                                            pf->hw.aq.asq_last_status));
                ret = i40e_aq_set_vsi_broadcast(&vsi->back->hw,
                                                vsi->seid,
                                                cur_promisc, NULL);
@@ -4026,7 +4003,6 @@ static void i40e_vsi_close(struct i40e_vsi *vsi)
        i40e_vsi_free_irq(vsi);
        i40e_vsi_free_tx_resources(vsi);
        i40e_vsi_free_rx_resources(vsi);
-       vsi->current_netdev_flags = 0;
 }
 
 /**
@@ -9332,7 +9308,7 @@ void i40e_veb_release(struct i40e_veb *veb)
 static int i40e_add_veb(struct i40e_veb *veb, struct i40e_vsi *vsi)
 {
        struct i40e_pf *pf = veb->pf;
-       bool is_default = veb->pf->cur_promisc;
+       bool is_default = false;
        bool is_cloud = false;
        int ret;