diff mbox series

[ovs-dev] netdev-offload-dpdk: Reverting Temporary patch to fix broken hardware offload ethernet matching for XL710 NICs.

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

Commit Message

Emma Finn Dec. 7, 2020, 4:27 p.m. UTC
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(-)

Comments

Stokes, Ian Dec. 7, 2020, 4:32 p.m. UTC | #1
> 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
Emma Finn Dec. 7, 2020, 4:39 p.m. UTC | #2
> -----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
>
Emma Finn Dec. 7, 2020, 4:58 p.m. UTC | #3
> -----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
> >
Stokes, Ian Jan. 15, 2021, 11:10 a.m. UTC | #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 mbox series

Patch

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;