DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] net/iavf: support FDIR L3 fields for IP fragment packets
@ 2021-08-02  7:57 Wenjun Wu
  2021-08-10  7:42 ` Zhang, Qi Z
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Wenjun Wu @ 2021-08-02  7:57 UTC (permalink / raw)
  To: dev, jingjing.wu, beilei.xing, qi.z.zhang; +Cc: Wenjun Wu

Add support of FDIR L3 fields for both IPv4 and IPv6 fragment packets.

Signed-off-by: Wenjun Wu <wenjun1.wu@intel.com>
---
 drivers/net/iavf/iavf_fdir.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/iavf/iavf_fdir.c b/drivers/net/iavf/iavf_fdir.c
index da3eec8b59..32b06044f2 100644
--- a/drivers/net/iavf/iavf_fdir.c
+++ b/drivers/net/iavf/iavf_fdir.c
@@ -57,7 +57,7 @@
 	IAVF_INSET_IPV6_HOP_LIMIT)
 
 #define IAVF_FDIR_INSET_ETH_IPV6_FRAG_EXT (\
-	IAVF_INSET_IPV6_ID)
+	IAVF_FDIR_INSET_ETH_IPV6 | IAVF_INSET_IPV6_ID)
 
 #define IAVF_FDIR_INSET_ETH_IPV6_UDP (\
 	IAVF_INSET_IPV6_SRC | IAVF_INSET_IPV6_DST | \
@@ -664,6 +664,7 @@ iavf_fdir_add_fragment_hdr(struct virtchnl_proto_hdrs *hdrs, int layer)
 	/* adding dummy fragment header */
 	hdr1 = &hdrs->proto_hdr[layer];
 	VIRTCHNL_SET_PROTO_HDR_TYPE(hdr1, IPV4_FRAG);
+	hdr1->field_selector = 0;
 	hdrs->count = ++layer;
 }
 
-- 
2.25.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [dpdk-dev] [PATCH] net/iavf: support FDIR L3 fields for IP fragment packets
  2021-08-02  7:57 [dpdk-dev] [PATCH] net/iavf: support FDIR L3 fields for IP fragment packets Wenjun Wu
@ 2021-08-10  7:42 ` Zhang, Qi Z
  2021-08-13 13:59 ` Ferruh Yigit
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 8+ messages in thread
From: Zhang, Qi Z @ 2021-08-10  7:42 UTC (permalink / raw)
  To: Wu, Wenjun1, dev, Wu,  Jingjing, Xing, Beilei



> -----Original Message-----
> From: Wu, Wenjun1 <wenjun1.wu@intel.com>
> Sent: Monday, August 2, 2021 3:58 PM
> To: dev@dpdk.org; Wu, Jingjing <jingjing.wu@intel.com>; Xing, Beilei
> <beilei.xing@intel.com>; Zhang, Qi Z <qi.z.zhang@intel.com>
> Cc: Wu, Wenjun1 <wenjun1.wu@intel.com>
> Subject: [PATCH] net/iavf: support FDIR L3 fields for IP fragment packets
> 
> Add support of FDIR L3 fields for both IPv4 and IPv6 fragment packets.
> 
> Signed-off-by: Wenjun Wu <wenjun1.wu@intel.com>

Acked-by: Qi Zhang <qi.z.zhang@intel.com>

Applied to dpdk-next-net-intel.

Thanks
Qi


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [dpdk-dev] [PATCH] net/iavf: support FDIR L3 fields for IP fragment packets
  2021-08-02  7:57 [dpdk-dev] [PATCH] net/iavf: support FDIR L3 fields for IP fragment packets Wenjun Wu
  2021-08-10  7:42 ` Zhang, Qi Z
@ 2021-08-13 13:59 ` Ferruh Yigit
  2021-08-17  6:35   ` Wu, Wenjun1
  2021-08-17  6:49 ` [dpdk-dev] [PATCH v2] net/iavf: fix wrong FDIR L3 field set for IPv4 " Wenjun Wu
  2021-08-17  6:50 ` [dpdk-dev] [PATCH v2] net/iavf: support FDIR L3 fields for IPv6 " Wenjun Wu
  3 siblings, 1 reply; 8+ messages in thread
From: Ferruh Yigit @ 2021-08-13 13:59 UTC (permalink / raw)
  To: Wenjun Wu, dev, jingjing.wu, beilei.xing, qi.z.zhang

On 8/2/2021 8:57 AM, Wenjun Wu wrote:
> Add support of FDIR L3 fields for both IPv4 and IPv6 fragment packets.
> 

Description mentions from both IPv4 & IPv6 but only IPv6 macro is updated, is
this expected?

Is following correct:
Before this patch flow director rules were not applied to fragmented IPv4 & IPv6
packets (so packets were not able to sent to specific queues), but after this
patch it does.
Is it the case that HW configuration was missing and hash is not calculated for
these kind of packets etc.. If you have more details can you please provide?
Also what was happening to these packets previously, sent to queue 0 by default?

Overall can please provide more description and check below question related to
'field_selector'?

Thanks,
ferruh

> Signed-off-by: Wenjun Wu <wenjun1.wu@intel.com>
> ---
>  drivers/net/iavf/iavf_fdir.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/iavf/iavf_fdir.c b/drivers/net/iavf/iavf_fdir.c
> index da3eec8b59..32b06044f2 100644
> --- a/drivers/net/iavf/iavf_fdir.c
> +++ b/drivers/net/iavf/iavf_fdir.c
> @@ -57,7 +57,7 @@
>  	IAVF_INSET_IPV6_HOP_LIMIT)
>  
>  #define IAVF_FDIR_INSET_ETH_IPV6_FRAG_EXT (\
> -	IAVF_INSET_IPV6_ID)
> +	IAVF_FDIR_INSET_ETH_IPV6 | IAVF_INSET_IPV6_ID)
>  
>  #define IAVF_FDIR_INSET_ETH_IPV6_UDP (\
>  	IAVF_INSET_IPV6_SRC | IAVF_INSET_IPV6_DST | \
> @@ -664,6 +664,7 @@ iavf_fdir_add_fragment_hdr(struct virtchnl_proto_hdrs *hdrs, int layer)
>  	/* adding dummy fragment header */
>  	hdr1 = &hdrs->proto_hdr[layer];
>  	VIRTCHNL_SET_PROTO_HDR_TYPE(hdr1, IPV4_FRAG);
> +	hdr1->field_selector = 0;

Is this change related to new support, or fixing something that was missing
previously?

>  	hdrs->count = ++layer;
>  }
>  
> 


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [dpdk-dev] [PATCH] net/iavf: support FDIR L3 fields for IP fragment packets
  2021-08-13 13:59 ` Ferruh Yigit
@ 2021-08-17  6:35   ` Wu, Wenjun1
  0 siblings, 0 replies; 8+ messages in thread
From: Wu, Wenjun1 @ 2021-08-17  6:35 UTC (permalink / raw)
  To: Yigit, Ferruh, dev, Wu, Jingjing, Xing, Beilei, Zhang, Qi Z

Hi Ferruh,

I am sorry my  description caused confusion. I will split this patch into two, rework the commit log and send it later.

> -----Original Message-----
> From: Yigit, Ferruh <ferruh.yigit@intel.com>
> Sent: Friday, August 13, 2021 10:00 PM
> To: Wu, Wenjun1 <wenjun1.wu@intel.com>; dev@dpdk.org; Wu, Jingjing
> <jingjing.wu@intel.com>; Xing, Beilei <beilei.xing@intel.com>; Zhang, Qi Z
> <qi.z.zhang@intel.com>
> Subject: Re: [dpdk-dev] [PATCH] net/iavf: support FDIR L3 fields for IP
> fragment packets
> 
> On 8/2/2021 8:57 AM, Wenjun Wu wrote:
> > Add support of FDIR L3 fields for both IPv4 and IPv6 fragment packets.
> >
> 
> Description mentions from both IPv4 & IPv6 but only IPv6 macro is updated,
> is this expected?
> 
> Is following correct:
> Before this patch flow director rules were not applied to fragmented IPv4 &
> IPv6 packets (so packets were not able to sent to specific queues), but after
> this patch it does.
> Is it the case that HW configuration was missing and hash is not calculated for
> these kind of packets etc.. If you have more details can you please provide?
> Also what was happening to these packets previously, sent to queue 0 by
> default?
> 
> Overall can please provide more description and check below question
> related to 'field_selector'?
> 
> Thanks,
> ferruh
> 
> > Signed-off-by: Wenjun Wu <wenjun1.wu@intel.com>
> > ---
> >  drivers/net/iavf/iavf_fdir.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/net/iavf/iavf_fdir.c
> > b/drivers/net/iavf/iavf_fdir.c index da3eec8b59..32b06044f2 100644
> > --- a/drivers/net/iavf/iavf_fdir.c
> > +++ b/drivers/net/iavf/iavf_fdir.c
> > @@ -57,7 +57,7 @@
> >  	IAVF_INSET_IPV6_HOP_LIMIT)
> >
> >  #define IAVF_FDIR_INSET_ETH_IPV6_FRAG_EXT (\
> > -	IAVF_INSET_IPV6_ID)
> > +	IAVF_FDIR_INSET_ETH_IPV6 | IAVF_INSET_IPV6_ID)
> >
> >  #define IAVF_FDIR_INSET_ETH_IPV6_UDP (\
> >  	IAVF_INSET_IPV6_SRC | IAVF_INSET_IPV6_DST | \ @@ -664,6 +664,7
> @@
> > iavf_fdir_add_fragment_hdr(struct virtchnl_proto_hdrs *hdrs, int layer)
> >  	/* adding dummy fragment header */
> >  	hdr1 = &hdrs->proto_hdr[layer];
> >  	VIRTCHNL_SET_PROTO_HDR_TYPE(hdr1, IPV4_FRAG);
> > +	hdr1->field_selector = 0;
> 
> Is this change related to new support, or fixing something that was missing
> previously?
> 
> >  	hdrs->count = ++layer;
> >  }
> >
> >


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [dpdk-dev] [PATCH v2] net/iavf: fix wrong FDIR L3 field set for IPv4 fragment packets
  2021-08-02  7:57 [dpdk-dev] [PATCH] net/iavf: support FDIR L3 fields for IP fragment packets Wenjun Wu
  2021-08-10  7:42 ` Zhang, Qi Z
  2021-08-13 13:59 ` Ferruh Yigit
@ 2021-08-17  6:49 ` Wenjun Wu
  2021-08-29 11:18   ` Zhang, Qi Z
  2021-08-17  6:50 ` [dpdk-dev] [PATCH v2] net/iavf: support FDIR L3 fields for IPv6 " Wenjun Wu
  3 siblings, 1 reply; 8+ messages in thread
From: Wenjun Wu @ 2021-08-17  6:49 UTC (permalink / raw)
  To: dev, jingjing.wu, beilei.xing; +Cc: Wenjun Wu

Originally, the value of field_selector for IPV4_FRAG header hdr1 is
the same as the previous header hdr2. For IPv4 packets, field_selector
for hdr2 can be any value between 0 and 4, depending on the selected
field. Actually, this value for IPV4_FRAG should be constant 0,
which denotes the field packet ID.

This patch adds an assignment to hdr1->field_selector to make sure that
it is always 0.

Fixes: 3334513ef484 ("net/iavf: support flow director for IP fragment")

Signed-off-by: Wenjun Wu <wenjun1.wu@intel.com>

---
v2: reword commit log
---
 drivers/net/iavf/iavf_fdir.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/iavf/iavf_fdir.c b/drivers/net/iavf/iavf_fdir.c
index 2869a8b424..32b06044f2 100644
--- a/drivers/net/iavf/iavf_fdir.c
+++ b/drivers/net/iavf/iavf_fdir.c
@@ -664,6 +664,7 @@ iavf_fdir_add_fragment_hdr(struct virtchnl_proto_hdrs *hdrs, int layer)
 	/* adding dummy fragment header */
 	hdr1 = &hdrs->proto_hdr[layer];
 	VIRTCHNL_SET_PROTO_HDR_TYPE(hdr1, IPV4_FRAG);
+	hdr1->field_selector = 0;
 	hdrs->count = ++layer;
 }
 
-- 
2.25.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [dpdk-dev] [PATCH v2] net/iavf: support FDIR L3 fields for IPv6 fragment packets
  2021-08-02  7:57 [dpdk-dev] [PATCH] net/iavf: support FDIR L3 fields for IP fragment packets Wenjun Wu
                   ` (2 preceding siblings ...)
  2021-08-17  6:49 ` [dpdk-dev] [PATCH v2] net/iavf: fix wrong FDIR L3 field set for IPv4 " Wenjun Wu
@ 2021-08-17  6:50 ` Wenjun Wu
  2021-08-29 11:21   ` Zhang, Qi Z
  3 siblings, 1 reply; 8+ messages in thread
From: Wenjun Wu @ 2021-08-17  6:50 UTC (permalink / raw)
  To: dev, jingjing.wu, beilei.xing; +Cc: Wenjun Wu

This patch adds L3 fields FDIR support for IPv6 fragment packets.

Signed-off-by: Wenjun Wu <wenjun1.wu@intel.com>

---
v2: reword commit log
---
 drivers/net/iavf/iavf_fdir.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/iavf/iavf_fdir.c b/drivers/net/iavf/iavf_fdir.c
index da3eec8b59..2869a8b424 100644
--- a/drivers/net/iavf/iavf_fdir.c
+++ b/drivers/net/iavf/iavf_fdir.c
@@ -57,7 +57,7 @@
 	IAVF_INSET_IPV6_HOP_LIMIT)
 
 #define IAVF_FDIR_INSET_ETH_IPV6_FRAG_EXT (\
-	IAVF_INSET_IPV6_ID)
+	IAVF_FDIR_INSET_ETH_IPV6 | IAVF_INSET_IPV6_ID)
 
 #define IAVF_FDIR_INSET_ETH_IPV6_UDP (\
 	IAVF_INSET_IPV6_SRC | IAVF_INSET_IPV6_DST | \
-- 
2.25.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [dpdk-dev] [PATCH v2] net/iavf: fix wrong FDIR L3 field set for IPv4 fragment packets
  2021-08-17  6:49 ` [dpdk-dev] [PATCH v2] net/iavf: fix wrong FDIR L3 field set for IPv4 " Wenjun Wu
@ 2021-08-29 11:18   ` Zhang, Qi Z
  0 siblings, 0 replies; 8+ messages in thread
From: Zhang, Qi Z @ 2021-08-29 11:18 UTC (permalink / raw)
  To: Wu, Wenjun1, dev, Wu,  Jingjing, Xing, Beilei; +Cc: Wu, Wenjun1



> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Wenjun Wu
> Sent: Tuesday, August 17, 2021 2:50 PM
> To: dev@dpdk.org; Wu, Jingjing <jingjing.wu@intel.com>; Xing, Beilei
> <beilei.xing@intel.com>
> Cc: Wu, Wenjun1 <wenjun1.wu@intel.com>
> Subject: [dpdk-dev] [PATCH v2] net/iavf: fix wrong FDIR L3 field set for IPv4
> fragment packets
> 
> Originally, the value of field_selector for IPV4_FRAG header hdr1 is the same as
> the previous header hdr2. For IPv4 packets, field_selector for hdr2 can be any
> value between 0 and 4, depending on the selected field. Actually, this value for
> IPV4_FRAG should be constant 0, which denotes the field packet ID.
> 
> This patch adds an assignment to hdr1->field_selector to make sure that it is
> always 0.
> 
> Fixes: 3334513ef484 ("net/iavf: support flow director for IP fragment")
> 
> Signed-off-by: Wenjun Wu <wenjun1.wu@intel.com>

Acked-by: Qi Zhang <qi.z.zhang@intel.com>

Applied to dpdk-next-net-intel.

Thanks
Qi


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [dpdk-dev] [PATCH v2] net/iavf: support FDIR L3 fields for IPv6 fragment packets
  2021-08-17  6:50 ` [dpdk-dev] [PATCH v2] net/iavf: support FDIR L3 fields for IPv6 " Wenjun Wu
@ 2021-08-29 11:21   ` Zhang, Qi Z
  0 siblings, 0 replies; 8+ messages in thread
From: Zhang, Qi Z @ 2021-08-29 11:21 UTC (permalink / raw)
  To: Wu, Wenjun1, dev, Wu,  Jingjing, Xing, Beilei; +Cc: Wu, Wenjun1



> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Wenjun Wu
> Sent: Tuesday, August 17, 2021 2:50 PM
> To: dev@dpdk.org; Wu, Jingjing <jingjing.wu@intel.com>; Xing, Beilei
> <beilei.xing@intel.com>
> Cc: Wu, Wenjun1 <wenjun1.wu@intel.com>
> Subject: [dpdk-dev] [PATCH v2] net/iavf: support FDIR L3 fields for IPv6
> fragment packets
> 
> This patch adds L3 fields FDIR support for IPv6 fragment packets.
> 
> Signed-off-by: Wenjun Wu <wenjun1.wu@intel.com>

Acked-by: Qi Zhang <qi.z.zhang@intel.com>

Applied to dpdk-next-net-intel.

Thanks
Qi


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-08-29 11:21 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-02  7:57 [dpdk-dev] [PATCH] net/iavf: support FDIR L3 fields for IP fragment packets Wenjun Wu
2021-08-10  7:42 ` Zhang, Qi Z
2021-08-13 13:59 ` Ferruh Yigit
2021-08-17  6:35   ` Wu, Wenjun1
2021-08-17  6:49 ` [dpdk-dev] [PATCH v2] net/iavf: fix wrong FDIR L3 field set for IPv4 " Wenjun Wu
2021-08-29 11:18   ` Zhang, Qi Z
2021-08-17  6:50 ` [dpdk-dev] [PATCH v2] net/iavf: support FDIR L3 fields for IPv6 " Wenjun Wu
2021-08-29 11:21   ` Zhang, Qi Z

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).