mirror of
https://github.com/openvswitch/ovs
synced 2025-08-30 22:05:19 +00:00
netdev-offload-dpdk: Fix for broken ethernet matching HWOL for XL710NIC.
This patch introduces a temporary work around to fix partial hardware offload for XL710 devices. Currently the incorrect ethernet pattern is being set. This patch will be removed once this issue is fixed within the i40e PMD. Signed-off-by: Emma Finn <emma.finn@intel.com> Signed-off-by: Eli Britstein <elibr@nvidia.com> Co-authored-by: Eli Britstein <elibr@nvidia.com> Tested-by: Ian Stokes <ian.stokes@intel.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
This commit is contained in:
@@ -691,9 +691,22 @@ parse_flow_match(struct flow_patterns *patterns,
|
||||
consumed_masks->packet_type = 0;
|
||||
|
||||
/* Eth */
|
||||
if (match->wc.masks.dl_type ||
|
||||
!eth_addr_is_zero(match->wc.masks.dl_src) ||
|
||||
!eth_addr_is_zero(match->wc.masks.dl_dst)) {
|
||||
if (match->wc.masks.dl_type == OVS_BE16_MAX && is_ip_any(&match->flow)
|
||||
&& eth_addr_is_zero(match->wc.masks.dl_dst)
|
||||
&& eth_addr_is_zero(match->wc.masks.dl_src)) {
|
||||
/*
|
||||
* This is a temporary work around to fix ethernet pattern for partial
|
||||
* hardware offload for X710 devices. This fix will be reverted once
|
||||
* the issue is fixed within the i40e PMD driver.
|
||||
*/
|
||||
add_flow_pattern(patterns, RTE_FLOW_ITEM_TYPE_ETH, NULL, NULL);
|
||||
|
||||
memset(&consumed_masks->dl_dst, 0, sizeof consumed_masks->dl_dst);
|
||||
memset(&consumed_masks->dl_src, 0, sizeof consumed_masks->dl_src);
|
||||
consumed_masks->dl_type = 0;
|
||||
} else if (match->wc.masks.dl_type ||
|
||||
!eth_addr_is_zero(match->wc.masks.dl_src) ||
|
||||
!eth_addr_is_zero(match->wc.masks.dl_dst)) {
|
||||
struct rte_flow_item_eth *spec, *mask;
|
||||
|
||||
spec = xzalloc(sizeof *spec);
|
||||
|
Reference in New Issue
Block a user