net/ixgbe: enable IPv6 mask for generic flow API

Message ID 20230128071519.42946-1-kaiwenx.deng@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Qi Zhang
Headers
Series net/ixgbe: enable IPv6 mask for generic flow API |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/loongarch-compilation success Compilation OK
ci/loongarch-unit-testing success Unit Testing PASS
ci/Intel-compilation success Compilation OK
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/intel-Testing success Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/github-robot: build success github build: passed
ci/iol-aarch64-unit-testing success Testing PASS
ci/iol-testing success Testing PASS
ci/iol-x86_64-unit-testing success Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS
ci/iol-abi-testing success Testing PASS

Commit Message

Kaiwen Deng Jan. 28, 2023, 7:15 a.m. UTC
  Add IPv6 addr mask and L4 mask support for rte_flow APIs.

IPv6 flow rules do not take effect in ixgbe when set
IPv6 addr mask and L4 mask to default value as 0xFF.

Set IPv6 addr mask and L4 mask as 0 to enable fields
can fix this issue.

Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")
Cc: stable@dpdk.org

Signed-off-by: Kaiwen Deng <kaiwenx.deng@intel.com>
---
 drivers/net/ixgbe/ixgbe_flow.c | 4 ++++
 1 file changed, 4 insertions(+)
  

Comments

Qiming Yang Feb. 2, 2023, 6:09 a.m. UTC | #1
Hi, Kaiwen

The code looks good to me.
Can you ask someone to test this behavior and add a tested-by?

Qiming

> -----Original Message-----
> From: Deng, KaiwenX <kaiwenx.deng@intel.com>
> Sent: Saturday, January 28, 2023 3:15 PM
> To: dev@dpdk.org
> Cc: stable@dpdk.org; Zhou, YidingX <yidingx.zhou@intel.com>; Deng,
> KaiwenX <kaiwenx.deng@intel.com>; Yang, Qiming
> <qiming.yang@intel.com>; Wu, Wenjun1 <wenjun1.wu@intel.com>; Zhao1,
> Wei <wei.zhao1@intel.com>; Xing, Beilei <beilei.xing@intel.com>; Lu,
> Wenzhuo <wenzhuo.lu@intel.com>; Dai, Wei <wei.dai@intel.com>
> Subject: [PATCH] net/ixgbe: enable IPv6 mask for generic flow API
> 
> Add IPv6 addr mask and L4 mask support for rte_flow APIs.
> 
> IPv6 flow rules do not take effect in ixgbe when set
> IPv6 addr mask and L4 mask to default value as 0xFF.
> 
> Set IPv6 addr mask and L4 mask as 0 to enable fields can fix this issue.
> 
> Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Kaiwen Deng <kaiwenx.deng@intel.com>
> ---
>  drivers/net/ixgbe/ixgbe_flow.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/net/ixgbe/ixgbe_flow.c b/drivers/net/ixgbe/ixgbe_flow.c
> index 110ff34fcc..d2ba87df27 100644
> --- a/drivers/net/ixgbe/ixgbe_flow.c
> +++ b/drivers/net/ixgbe/ixgbe_flow.c
> @@ -1645,6 +1645,10 @@ ixgbe_parse_fdir_filter_normal(struct
> rte_eth_dev *dev,
>  	memset(&rule->mask, 0xFF, sizeof(struct ixgbe_hw_fdir_mask));
>  	rule->mask.vlan_tci_mask = 0;
>  	rule->mask.flex_bytes_mask = 0;
> +	rule->mask.dst_port_mask = 0;
> +	rule->mask.src_port_mask = 0;
> +	rule->mask.src_ipv6_mask = 0;
> +	rule->mask.dst_ipv6_mask = 0;
> 
>  	/**
>  	 * The first not void item should be
> --
> 2.34.1
  
Peng, Yuan Feb. 2, 2023, 6:29 a.m. UTC | #2
> -----Original Message-----
> From: Kaiwen Deng <kaiwenx.deng@intel.com>
> Sent: Saturday, January 28, 2023 3:15 PM
> To: dev@dpdk.org
> Cc: stable@dpdk.org; Zhou, YidingX <yidingx.zhou@intel.com>; Deng,
> KaiwenX <kaiwenx.deng@intel.com>; Yang, Qiming
> <qiming.yang@intel.com>; Wu, Wenjun1 <wenjun1.wu@intel.com>; Zhao1,
> Wei <wei.zhao1@intel.com>; Xing, Beilei <beilei.xing@intel.com>; Lu,
> Wenzhuo <wenzhuo.lu@intel.com>; Dai, Wei <wei.dai@intel.com>
> Subject: [PATCH] net/ixgbe: enable IPv6 mask for generic flow API
> 
> Add IPv6 addr mask and L4 mask support for rte_flow APIs.
> 
> IPv6 flow rules do not take effect in ixgbe when set
> IPv6 addr mask and L4 mask to default value as 0xFF.
> 
> Set IPv6 addr mask and L4 mask as 0 to enable fields can fix this issue.
> 
> Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Kaiwen Deng <kaiwenx.deng@intel.com>
> ---

Tested-by: Yuan Peng <yuan.peng@intel.com>
  
Kaiwen Deng Feb. 2, 2023, 6:52 a.m. UTC | #3
> -----Original Message-----
> From: Yang, Qiming <qiming.yang@intel.com>
> Sent: Thursday, February 2, 2023 2:10 PM
> To: Deng, KaiwenX <kaiwenx.deng@intel.com>; dev@dpdk.org
> Cc: stable@dpdk.org; Zhou, YidingX <yidingx.zhou@intel.com>; Wu,
> Wenjun1 <wenjun1.wu@intel.com>; Zhao1, Wei <wei.zhao1@intel.com>;
> Xing, Beilei <beilei.xing@intel.com>; Lu, Wenzhuo <wenzhuo.lu@intel.com>;
> Dai, Wei <wei.dai@intel.com>
> Subject: RE: [PATCH] net/ixgbe: enable IPv6 mask for generic flow API
> 
> Hi, Kaiwen
> 
> The code looks good to me.
> Can you ask someone to test this behavior and add a tested-by?
> 
> Qiming
> 
Hi,Qiming

Peng Yuan just added tested-by.

Kaiwen
> > -----Original Message-----
> > From: Deng, KaiwenX <kaiwenx.deng@intel.com>
> > Sent: Saturday, January 28, 2023 3:15 PM
> > To: dev@dpdk.org
> > Cc: stable@dpdk.org; Zhou, YidingX <yidingx.zhou@intel.com>; Deng,
> > KaiwenX <kaiwenx.deng@intel.com>; Yang, Qiming
> > <qiming.yang@intel.com>; Wu, Wenjun1 <wenjun1.wu@intel.com>;
> Zhao1,
> > Wei <wei.zhao1@intel.com>; Xing, Beilei <beilei.xing@intel.com>; Lu,
> > Wenzhuo <wenzhuo.lu@intel.com>; Dai, Wei <wei.dai@intel.com>
> > Subject: [PATCH] net/ixgbe: enable IPv6 mask for generic flow API
> >
> > Add IPv6 addr mask and L4 mask support for rte_flow APIs.
> >
> > IPv6 flow rules do not take effect in ixgbe when set
> > IPv6 addr mask and L4 mask to default value as 0xFF.
> >
> > Set IPv6 addr mask and L4 mask as 0 to enable fields can fix this issue.
> >
> > Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Kaiwen Deng <kaiwenx.deng@intel.com>
> > ---
> >  drivers/net/ixgbe/ixgbe_flow.c | 4 ++++
> >  1 file changed, 4 insertions(+)
> >
> > diff --git a/drivers/net/ixgbe/ixgbe_flow.c
> > b/drivers/net/ixgbe/ixgbe_flow.c index 110ff34fcc..d2ba87df27 100644
> > --- a/drivers/net/ixgbe/ixgbe_flow.c
> > +++ b/drivers/net/ixgbe/ixgbe_flow.c
> > @@ -1645,6 +1645,10 @@ ixgbe_parse_fdir_filter_normal(struct
> > rte_eth_dev *dev,
> >  	memset(&rule->mask, 0xFF, sizeof(struct ixgbe_hw_fdir_mask));
> >  	rule->mask.vlan_tci_mask = 0;
> >  	rule->mask.flex_bytes_mask = 0;
> > +	rule->mask.dst_port_mask = 0;
> > +	rule->mask.src_port_mask = 0;
> > +	rule->mask.src_ipv6_mask = 0;
> > +	rule->mask.dst_ipv6_mask = 0;
> >
> >  	/**
> >  	 * The first not void item should be
> > --
> > 2.34.1
  
Qiming Yang Feb. 7, 2023, 6:41 a.m. UTC | #4
Hi,

> -----Original Message-----
> From: Deng, KaiwenX <kaiwenx.deng@intel.com>
> Sent: Thursday, February 2, 2023 2:53 PM
> To: Yang, Qiming <qiming.yang@intel.com>; dev@dpdk.org
> Cc: stable@dpdk.org; Zhou, YidingX <yidingx.zhou@intel.com>; Wu,
> Wenjun1 <wenjun1.wu@intel.com>; Zhao1, Wei <wei.zhao1@intel.com>;
> Xing, Beilei <beilei.xing@intel.com>; Lu, Wenzhuo <wenzhuo.lu@intel.com>;
> Dai, Wei <wei.dai@intel.com>
> Subject: RE: [PATCH] net/ixgbe: enable IPv6 mask for generic flow API
> 
> 
> 
> > -----Original Message-----
> > From: Yang, Qiming <qiming.yang@intel.com>
> > Sent: Thursday, February 2, 2023 2:10 PM
> > To: Deng, KaiwenX <kaiwenx.deng@intel.com>; dev@dpdk.org
> > Cc: stable@dpdk.org; Zhou, YidingX <yidingx.zhou@intel.com>; Wu,
> > Wenjun1 <wenjun1.wu@intel.com>; Zhao1, Wei <wei.zhao1@intel.com>;
> > Xing, Beilei <beilei.xing@intel.com>; Lu, Wenzhuo
> > <wenzhuo.lu@intel.com>; Dai, Wei <wei.dai@intel.com>
> > Subject: RE: [PATCH] net/ixgbe: enable IPv6 mask for generic flow API
> >
> > Hi, Kaiwen
> >
> > The code looks good to me.
> > Can you ask someone to test this behavior and add a tested-by?
> >
> > Qiming
> >
> Hi,Qiming
> 
> Peng Yuan just added tested-by.
> 
> Kaiwen
> > > -----Original Message-----
> > > From: Deng, KaiwenX <kaiwenx.deng@intel.com>
> > > Sent: Saturday, January 28, 2023 3:15 PM
> > > To: dev@dpdk.org
> > > Cc: stable@dpdk.org; Zhou, YidingX <yidingx.zhou@intel.com>; Deng,
> > > KaiwenX <kaiwenx.deng@intel.com>; Yang, Qiming
> > > <qiming.yang@intel.com>; Wu, Wenjun1 <wenjun1.wu@intel.com>;
> > Zhao1,
> > > Wei <wei.zhao1@intel.com>; Xing, Beilei <beilei.xing@intel.com>; Lu,
> > > Wenzhuo <wenzhuo.lu@intel.com>; Dai, Wei <wei.dai@intel.com>
> > > Subject: [PATCH] net/ixgbe: enable IPv6 mask for generic flow API
> > >
> > > Add IPv6 addr mask and L4 mask support for rte_flow APIs.
> > >
> > > IPv6 flow rules do not take effect in ixgbe when set
> > > IPv6 addr mask and L4 mask to default value as 0xFF.
> > >
> > > Set IPv6 addr mask and L4 mask as 0 to enable fields can fix this issue.
> > >
> > > Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")
> > > Cc: stable@dpdk.org
> > >
> > > Signed-off-by: Kaiwen Deng <kaiwenx.deng@intel.com>
> > > ---
> > >  drivers/net/ixgbe/ixgbe_flow.c | 4 ++++
> > >  1 file changed, 4 insertions(+)
> > >
> > > diff --git a/drivers/net/ixgbe/ixgbe_flow.c
> > > b/drivers/net/ixgbe/ixgbe_flow.c index 110ff34fcc..d2ba87df27 100644
> > > --- a/drivers/net/ixgbe/ixgbe_flow.c
> > > +++ b/drivers/net/ixgbe/ixgbe_flow.c
> > > @@ -1645,6 +1645,10 @@ ixgbe_parse_fdir_filter_normal(struct
> > > rte_eth_dev *dev,
> > >  	memset(&rule->mask, 0xFF, sizeof(struct ixgbe_hw_fdir_mask));
> > >  	rule->mask.vlan_tci_mask = 0;
> > >  	rule->mask.flex_bytes_mask = 0;
> > > +	rule->mask.dst_port_mask = 0;
> > > +	rule->mask.src_port_mask = 0;
> > > +	rule->mask.src_ipv6_mask = 0;
> > > +	rule->mask.dst_ipv6_mask = 0;
> > >
> > >  	/**
> > >  	 * The first not void item should be
> > > --
> > > 2.34.1

Acked-by: Qiming Yang <qiming.yang@intel.com>
  
Qi Zhang Feb. 8, 2023, 3:23 a.m. UTC | #5
> -----Original Message-----
> From: Yang, Qiming <qiming.yang@intel.com>
> Sent: Tuesday, February 7, 2023 2:41 PM
> To: Deng, KaiwenX <kaiwenx.deng@intel.com>; dev@dpdk.org
> Cc: stable@dpdk.org; Zhou, YidingX <yidingx.zhou@intel.com>; Wu,
> Wenjun1 <wenjun1.wu@intel.com>; Zhao1, Wei <wei.zhao1@intel.com>;
> Xing, Beilei <beilei.xing@intel.com>; Lu, Wenzhuo <wenzhuo.lu@intel.com>;
> Dai, Wei <wei.dai@intel.com>
> Subject: RE: [PATCH] net/ixgbe: enable IPv6 mask for generic flow API
> 
> Hi,
> 
> > -----Original Message-----
> > From: Deng, KaiwenX <kaiwenx.deng@intel.com>
> > Sent: Thursday, February 2, 2023 2:53 PM
> > To: Yang, Qiming <qiming.yang@intel.com>; dev@dpdk.org
> > Cc: stable@dpdk.org; Zhou, YidingX <yidingx.zhou@intel.com>; Wu,
> > Wenjun1 <wenjun1.wu@intel.com>; Zhao1, Wei <wei.zhao1@intel.com>;
> > Xing, Beilei <beilei.xing@intel.com>; Lu, Wenzhuo
> > <wenzhuo.lu@intel.com>; Dai, Wei <wei.dai@intel.com>
> > Subject: RE: [PATCH] net/ixgbe: enable IPv6 mask for generic flow API
> >
> >
> >
> > > -----Original Message-----
> > > From: Yang, Qiming <qiming.yang@intel.com>
> > > Sent: Thursday, February 2, 2023 2:10 PM
> > > To: Deng, KaiwenX <kaiwenx.deng@intel.com>; dev@dpdk.org
> > > Cc: stable@dpdk.org; Zhou, YidingX <yidingx.zhou@intel.com>; Wu,
> > > Wenjun1 <wenjun1.wu@intel.com>; Zhao1, Wei <wei.zhao1@intel.com>;
> > > Xing, Beilei <beilei.xing@intel.com>; Lu, Wenzhuo
> > > <wenzhuo.lu@intel.com>; Dai, Wei <wei.dai@intel.com>
> > > Subject: RE: [PATCH] net/ixgbe: enable IPv6 mask for generic flow
> > > API
> > >
> > > Hi, Kaiwen
> > >
> > > The code looks good to me.
> > > Can you ask someone to test this behavior and add a tested-by?
> > >
> > > Qiming
> > >
> > Hi,Qiming
> >
> > Peng Yuan just added tested-by.
> >
> > Kaiwen
> > > > -----Original Message-----
> > > > From: Deng, KaiwenX <kaiwenx.deng@intel.com>
> > > > Sent: Saturday, January 28, 2023 3:15 PM
> > > > To: dev@dpdk.org
> > > > Cc: stable@dpdk.org; Zhou, YidingX <yidingx.zhou@intel.com>; Deng,
> > > > KaiwenX <kaiwenx.deng@intel.com>; Yang, Qiming
> > > > <qiming.yang@intel.com>; Wu, Wenjun1 <wenjun1.wu@intel.com>;
> > > Zhao1,
> > > > Wei <wei.zhao1@intel.com>; Xing, Beilei <beilei.xing@intel.com>;
> > > > Lu, Wenzhuo <wenzhuo.lu@intel.com>; Dai, Wei <wei.dai@intel.com>
> > > > Subject: [PATCH] net/ixgbe: enable IPv6 mask for generic flow API
> > > >
> > > > Add IPv6 addr mask and L4 mask support for rte_flow APIs.
> > > >
> > > > IPv6 flow rules do not take effect in ixgbe when set
> > > > IPv6 addr mask and L4 mask to default value as 0xFF.
> > > >
> > > > Set IPv6 addr mask and L4 mask as 0 to enable fields can fix this issue.
> > > >
> > > > Fixes: 11777435c727 ("net/ixgbe: parse flow director filter")
> > > > Cc: stable@dpdk.org
> > > >
> > > > Signed-off-by: Kaiwen Deng <kaiwenx.deng@intel.com>
> > > > ---
> > > >  drivers/net/ixgbe/ixgbe_flow.c | 4 ++++
> > > >  1 file changed, 4 insertions(+)
> > > >
> > > > diff --git a/drivers/net/ixgbe/ixgbe_flow.c
> > > > b/drivers/net/ixgbe/ixgbe_flow.c index 110ff34fcc..d2ba87df27
> > > > 100644
> > > > --- a/drivers/net/ixgbe/ixgbe_flow.c
> > > > +++ b/drivers/net/ixgbe/ixgbe_flow.c
> > > > @@ -1645,6 +1645,10 @@ ixgbe_parse_fdir_filter_normal(struct
> > > > rte_eth_dev *dev,
> > > >  	memset(&rule->mask, 0xFF, sizeof(struct ixgbe_hw_fdir_mask));
> > > >  	rule->mask.vlan_tci_mask = 0;
> > > >  	rule->mask.flex_bytes_mask = 0;
> > > > +	rule->mask.dst_port_mask = 0;
> > > > +	rule->mask.src_port_mask = 0;
> > > > +	rule->mask.src_ipv6_mask = 0;
> > > > +	rule->mask.dst_ipv6_mask = 0;
> > > >
> > > >  	/**
> > > >  	 * The first not void item should be
> > > > --
> > > > 2.34.1
> 
> Acked-by: Qiming Yang <qiming.yang@intel.com>

Applied to dpdk-next-net-intel.

Thanks
Qi
  

Patch

diff --git a/drivers/net/ixgbe/ixgbe_flow.c b/drivers/net/ixgbe/ixgbe_flow.c
index 110ff34fcc..d2ba87df27 100644
--- a/drivers/net/ixgbe/ixgbe_flow.c
+++ b/drivers/net/ixgbe/ixgbe_flow.c
@@ -1645,6 +1645,10 @@  ixgbe_parse_fdir_filter_normal(struct rte_eth_dev *dev,
 	memset(&rule->mask, 0xFF, sizeof(struct ixgbe_hw_fdir_mask));
 	rule->mask.vlan_tci_mask = 0;
 	rule->mask.flex_bytes_mask = 0;
+	rule->mask.dst_port_mask = 0;
+	rule->mask.src_port_mask = 0;
+	rule->mask.src_ipv6_mask = 0;
+	rule->mask.dst_ipv6_mask = 0;
 
 	/**
 	 * The first not void item should be