New upstream version 16.11.8
[deb_dpdk.git] / drivers / net / qede / qede_ethdev.c
index 5275ef9..679599f 100644 (file)
@@ -248,10 +248,10 @@ qede_ucast_filter(struct rte_eth_dev *eth_dev, struct ecore_filter_ucast *ucast,
                        if ((memcmp(mac_addr, &tmp->mac,
                                    ETHER_ADDR_LEN) == 0) &&
                             ucast->vlan == tmp->vlan) {
-                               DP_ERR(edev, "Unicast MAC is already added"
-                                      " with vlan = %u, vni = %u\n",
-                                      ucast->vlan,  ucast->vni);
-                                       return -EEXIST;
+                               DP_INFO(edev, "Unicast MAC is already added"
+                                       " with vlan = %u, vni = %u\n",
+                                       ucast->vlan,  ucast->vni);
+                                       return 0;
                        }
                }
                u = rte_malloc(NULL, sizeof(struct qede_ucast_entry),
@@ -441,7 +441,10 @@ qede_mac_int_ops(struct rte_eth_dev *eth_dev, struct ecore_filter_ucast *ucast,
                if (rc == 0)
                        rc = ecore_filter_ucast_cmd(edev, ucast,
                                                    ECORE_SPQ_MODE_CB, NULL);
-               if (rc != ECORE_SUCCESS) {
+               /* Indicate error only for add filter operation.
+                * Delete filter operations are not severe.
+                */
+               if ((rc != ECORE_SUCCESS) && add) {
                        DP_ERR(edev, "MAC filter failed, rc = %d, op = %d\n",
                               rc, add);
                }
@@ -613,9 +616,9 @@ static int qede_vlan_filter_set(struct rte_eth_dev *eth_dev,
 
                SLIST_FOREACH(tmp, &qdev->vlan_list_head, list) {
                        if (tmp->vid == vlan_id) {
-                               DP_ERR(edev, "VLAN %u already configured\n",
-                                      vlan_id);
-                               return -EEXIST;
+                               DP_INFO(edev, "VLAN %u already configured\n",
+                                       vlan_id);
+                               return 0;
                        }
                }
 
@@ -797,8 +800,7 @@ static int qede_dev_configure(struct rte_eth_dev *eth_dev)
 
        /* Enable VLAN offloads by default */
        qede_vlan_offload_set(eth_dev, ETH_VLAN_STRIP_MASK  |
-                                      ETH_VLAN_FILTER_MASK |
-                                      ETH_VLAN_EXTEND_MASK);
+                                      ETH_VLAN_FILTER_MASK);
 
        qdev->state = QEDE_DEV_CONFIG;