Message ID | 1607358435-23502-1-git-send-email-emma.finn@intel.com |
---|---|
State | Accepted |
Headers | show |
Series | [ovs-dev] netdev-offload-dpdk: Reverting Temporary patch to fix broken hardware offload ethernet matching for XL710 NICs. | expand |
> Removing temporary patch - 023f257 (netdev-offload-dpdk: Fix for broken > ethernet matching HWOL for XL710NIC). > Ethernet pattern is now being set correctly withtin the i40e PMD. > > Signed-off-by: Emma Finn <emma.finn@intel.com> Thanks for the patch Emma. I think this has a dependency on moving to DPDK 20.11 if I'm correct? As such we should hold off applying until then? Regards Ian > --- > lib/netdev-offload-dpdk.c | 15 +-------------- > 1 file changed, 1 insertion(+), 14 deletions(-) > > diff --git a/lib/netdev-offload-dpdk.c b/lib/netdev-offload-dpdk.c > index 01c52e1..916f42b 100644 > --- a/lib/netdev-offload-dpdk.c > +++ b/lib/netdev-offload-dpdk.c > @@ -695,20 +695,7 @@ parse_flow_match(struct flow_patterns *patterns, > consumed_masks->packet_type = 0; > > /* Eth */ > - 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 || > + 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; > -- > 2.7.4
> -----Original Message----- > From: Stokes, Ian <ian.stokes@intel.com> > Sent: Monday 7 December 2020 16:32 > To: Finn, Emma <emma.finn@intel.com>; dev@openvswitch.org; > i.maximets@ovn.org; elibr@nvidia.com > Subject: RE: [PATCH] netdev-offload-dpdk: Reverting Temporary patch to fix > broken hardware offload ethernet matching for XL710 NICs. > > > Removing temporary patch - 023f257 (netdev-offload-dpdk: Fix for > > broken ethernet matching HWOL for XL710NIC). > > Ethernet pattern is now being set correctly withtin the i40e PMD. > > > > Signed-off-by: Emma Finn <emma.finn@intel.com> > > Thanks for the patch Emma. > > I think this has a dependency on moving to DPDK 20.11 if I'm correct? As such > we should hold off applying until then? The fix was backported to DPDK 19.11. But we can hold off until 20.11 if we want. Thanks, Emma > > Regards > Ian > > --- > > lib/netdev-offload-dpdk.c | 15 +-------------- > > 1 file changed, 1 insertion(+), 14 deletions(-) > > > > diff --git a/lib/netdev-offload-dpdk.c b/lib/netdev-offload-dpdk.c > > index 01c52e1..916f42b 100644 > > --- a/lib/netdev-offload-dpdk.c > > +++ b/lib/netdev-offload-dpdk.c > > @@ -695,20 +695,7 @@ parse_flow_match(struct flow_patterns *patterns, > > consumed_masks->packet_type = 0; > > > > /* Eth */ > > - 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 || > > + 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; > > -- > > 2.7.4 >
> -----Original Message----- > From: Finn, Emma > Sent: Monday 7 December 2020 16:39 > To: Stokes, Ian <ian.stokes@intel.com>; dev@openvswitch.org; > i.maximets@ovn.org; elibr@nvidia.com > Subject: RE: [PATCH] netdev-offload-dpdk: Reverting Temporary patch to fix > broken hardware offload ethernet matching for XL710 NICs. > > > > > -----Original Message----- > > From: Stokes, Ian <ian.stokes@intel.com> > > Sent: Monday 7 December 2020 16:32 > > To: Finn, Emma <emma.finn@intel.com>; dev@openvswitch.org; > > i.maximets@ovn.org; elibr@nvidia.com > > Subject: RE: [PATCH] netdev-offload-dpdk: Reverting Temporary patch to > > fix broken hardware offload ethernet matching for XL710 NICs. > > > > > Removing temporary patch - 023f257 (netdev-offload-dpdk: Fix for > > > broken ethernet matching HWOL for XL710NIC). > > > Ethernet pattern is now being set correctly withtin the i40e PMD. > > > > > > Signed-off-by: Emma Finn <emma.finn@intel.com> > > > > Thanks for the patch Emma. > > > > I think this has a dependency on moving to DPDK 20.11 if I'm correct? > > As such we should hold off applying until then? > > The fix was backported to DPDK 19.11. But we can hold off until 20.11 if we > want. > Apologies it was backported to a different branch. Yes will have to hold off until we move to 20.11. > Thanks, > Emma > > > > > Regards > > Ian > > > --- > > > lib/netdev-offload-dpdk.c | 15 +-------------- > > > 1 file changed, 1 insertion(+), 14 deletions(-) > > > > > > diff --git a/lib/netdev-offload-dpdk.c b/lib/netdev-offload-dpdk.c > > > index 01c52e1..916f42b 100644 > > > --- a/lib/netdev-offload-dpdk.c > > > +++ b/lib/netdev-offload-dpdk.c > > > @@ -695,20 +695,7 @@ parse_flow_match(struct flow_patterns *patterns, > > > consumed_masks->packet_type = 0; > > > > > > /* Eth */ > > > - 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 || > > > + 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; > > > -- > > > 2.7.4 > >
> Removing temporary patch - 023f257 (netdev-offload-dpdk: Fix for broken > ethernet matching HWOL for XL710NIC). > Ethernet pattern is now being set correctly withtin the i40e PMD. > Thanks for the patch Emma, pushed to master with slight modification to the title and some alignment changes in the code. Regards Ian > Signed-off-by: Emma Finn <emma.finn@intel.com> > --- > lib/netdev-offload-dpdk.c | 15 +-------------- > 1 file changed, 1 insertion(+), 14 deletions(-) > > diff --git a/lib/netdev-offload-dpdk.c b/lib/netdev-offload-dpdk.c > index 01c52e1..916f42b 100644 > --- a/lib/netdev-offload-dpdk.c > +++ b/lib/netdev-offload-dpdk.c > @@ -695,20 +695,7 @@ parse_flow_match(struct flow_patterns *patterns, > consumed_masks->packet_type = 0; > > /* Eth */ > - 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 || > + 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; > -- > 2.7.4
diff --git a/lib/netdev-offload-dpdk.c b/lib/netdev-offload-dpdk.c index 01c52e1..916f42b 100644 --- a/lib/netdev-offload-dpdk.c +++ b/lib/netdev-offload-dpdk.c @@ -695,20 +695,7 @@ parse_flow_match(struct flow_patterns *patterns, consumed_masks->packet_type = 0; /* Eth */ - 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 || + 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;
Removing temporary patch - 023f257 (netdev-offload-dpdk: Fix for broken ethernet matching HWOL for XL710NIC). Ethernet pattern is now being set correctly withtin the i40e PMD. Signed-off-by: Emma Finn <emma.finn@intel.com> --- lib/netdev-offload-dpdk.c | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-)