net/iavf: fix ethernet header size in flow rule
authorXiaoyu Min <jackmin@nvidia.com>
Mon, 16 Nov 2020 07:55:17 +0000 (15:55 +0800)
committerThomas Monjalon <thomas@monjalon.net>
Tue, 24 Nov 2020 22:10:50 +0000 (23:10 +0100)
The rte_flow_item_vlan items are refined.
The structs do not exactly represent the packet bits captured on the
wire anymore so should only copy real header instead of the whole struct.

Replace the rte_flow_item_* with the existing corresponding rte_*_hdr.

Fixes: 09315fc83861 ("ethdev: add VLAN attributes to ethernet and VLAN items")

Signed-off-by: Xiaoyu Min <jackmin@nvidia.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
drivers/net/iavf/iavf_fdir.c

index d683a46..7054bde 100644 (file)
@@ -541,7 +541,7 @@ iavf_fdir_parse_pattern(__rte_unused struct iavf_adapter *ad,
                                VIRTCHNL_ADD_PROTO_HDR_FIELD_BIT(hdr, ETH, ETHERTYPE);
 
                                rte_memcpy(hdr->buffer,
-                                       eth_spec, sizeof(*eth_spec));
+                                       eth_spec, sizeof(struct rte_ether_hdr));
                        }
 
                        filter->add_fltr.rule_cfg.proto_hdrs.count = ++layer;