]> git.droids-corp.org - dpdk.git/commitdiff
net/mlx5: fix removing VLAN filter
authorRaslan Darawsheh <rdarawsheh@asaltech.com>
Wed, 14 Sep 2016 11:53:50 +0000 (13:53 +0200)
committerBruce Richardson <bruce.richardson@intel.com>
Fri, 30 Sep 2016 10:27:18 +0000 (12:27 +0200)
memmove was moving bytes as the number of elements next to i, while it
should move the number of elements multiplied by the size of each element.

Fixes: e9086978 ("mlx5: support VLAN filtering")
Signed-off-by: Raslan Darawsheh <rdarawsheh@asaltech.com>
drivers/net/mlx5/mlx5_vlan.c

index 4719e697f64cde225ba94e6f945837e5ccb59deb..fb730e52b95a4097397dfaa5244994d079b54e8a 100644 (file)
@@ -87,7 +87,8 @@ vlan_filter_set(struct rte_eth_dev *dev, uint16_t vlan_id, int on)
                --priv->vlan_filter_n;
                memmove(&priv->vlan_filter[i],
                        &priv->vlan_filter[i + 1],
-                       priv->vlan_filter_n - i);
+                       sizeof(priv->vlan_filter[i]) *
+                       (priv->vlan_filter_n - i));
                priv->vlan_filter[priv->vlan_filter_n] = 0;
        } else {
                assert(i == priv->vlan_filter_n);