[dpdk-dev,1/2] net/enic: fix hardcoding of some flow director masks

Message ID 20170203095446.4614-1-johndale@cisco.com (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel compilation fail Compilation issues

Commit Message

John Daley (johndale) Feb. 3, 2017, 9:54 a.m. UTC
  Hard coded mask values were being used for several of the IPv4 and IPv6
fields. Use the values in the rte_eth_fdir_masks structure provided by the
caller.

Fixes: dfbd6a9cb504 ("net/enic: extend flow director support for 1300 series")

Cc: stable@dpdk.org
Signed-off-by: John Daley <johndale@cisco.com>
---
 drivers/net/enic/enic_clsf.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
  

Comments

Ferruh Yigit Feb. 3, 2017, 10:54 p.m. UTC | #1
On 2/3/2017 9:54 AM, John Daley wrote:
> Hard coded mask values were being used for several of the IPv4 and IPv6
> fields. Use the values in the rte_eth_fdir_masks structure provided by the
> caller.
> 
> Fixes: dfbd6a9cb504 ("net/enic: extend flow director support for 1300 series") 
> Cc: stable@dpdk.org

> Signed-off-by: John Daley <johndale@cisco.com>

Series applied to dpdk-next-net/master, thanks.
  
John Daley (johndale) Feb. 9, 2017, 12:40 a.m. UTC | #2
This should replace
http://www.dpdk.org/dev/patchwork/patch/20147/ which was an intermediate patch
in a small patchset and had a compile error. Also, please reject the 2nd patch
in the patchset http://www.dpdk.org/dev/patchwork/patch/20148/ which is
incomplete. I will change the state of these patches in patchworks.
thank you, john

John Daley (1):
  net/enic: fix hardcoding of some flow director masks

 drivers/net/enic/enic_clsf.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)
  
Ferruh Yigit Feb. 9, 2017, 12:15 p.m. UTC | #3
On 2/9/2017 12:40 AM, John Daley wrote:
> This should replace
> http://www.dpdk.org/dev/patchwork/patch/20147/ which was an intermediate patch
> in a small patchset and had a compile error. Also, please reject the 2nd patch
> in the patchset http://www.dpdk.org/dev/patchwork/patch/20148/ which is
> incomplete. I will change the state of these patches in patchworks.
> thank you, john

Hi John,

I dropped the previous two and will get this one. And this looks like
the squashed version of the previous two with some updates in ipv6 shift
number.

Although next-net can re-write the git history, this is mainly to
provide ability to rebasing on master tree. Not for amending patches on
fly, that is confusing.

Please next time do not rely on git history re-writing while sending
patches.

Thanks,
ferruh

> 
> John Daley (1):
>   net/enic: fix hardcoding of some flow director masks
> 
>  drivers/net/enic/enic_clsf.c | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
>
  
John Daley (johndale) Feb. 9, 2017, 5:44 p.m. UTC | #4
> -----Original Message-----
> From: Ferruh Yigit [mailto:ferruh.yigit@intel.com]
> Sent: Thursday, February 09, 2017 4:15 AM
> To: John Daley (johndale) <johndale@cisco.com>
> Cc: dev@dpdk.org
> Subject: Re: [PATCH v2] enic flow director fixes
> 
> On 2/9/2017 12:40 AM, John Daley wrote:
> > This should replace
> > http://www.dpdk.org/dev/patchwork/patch/20147/ which was an
> > intermediate patch in a small patchset and had a compile error. Also,
> > please reject the 2nd patch in the patchset
> > http://www.dpdk.org/dev/patchwork/patch/20148/ which is incomplete. I
> will change the state of these patches in patchworks.
> > thank you, john
> 
> Hi John,
> 
> I dropped the previous two and will get this one. And this looks like the
> squashed version of the previous two with some updates in ipv6 shift
> number.
> 
> Although next-net can re-write the git history, this is mainly to provide ability
> to rebasing on master tree. Not for amending patches on fly, that is
> confusing.
> 
> Please next time do not rely on git history re-writing while sending patches.

Oops I was stupidly looking at master and assumed the patches were rejected because of the compile error. I obviously should have been looking at next-net.

Thanks,
John
> 
> Thanks,
> ferruh
> 
> >
> > John Daley (1):
> >   net/enic: fix hardcoding of some flow director masks
> >
> >  drivers/net/enic/enic_clsf.c | 14 +++++++-------
> >  1 file changed, 7 insertions(+), 7 deletions(-)
> >
  

Patch

diff --git a/drivers/net/enic/enic_clsf.c b/drivers/net/enic/enic_clsf.c
index bcf479a..c2218fe 100644
--- a/drivers/net/enic/enic_clsf.c
+++ b/drivers/net/enic/enic_clsf.c
@@ -211,15 +211,15 @@  copy_fltr_v2(struct filter_v2 *fltr, struct rte_eth_fdir_input *input,
 		memset(&ip4_val, 0, sizeof(struct ipv4_hdr));
 
 		if (input->flow.ip4_flow.tos) {
-			ip4_mask.type_of_service = 0xff;
+			ip4_mask.type_of_service = masks->ipv4_mask.tos;
 			ip4_val.type_of_service = input->flow.ip4_flow.tos;
 		}
 		if (input->flow.ip4_flow.ttl) {
-			ip4_mask.time_to_live = 0xff;
+			ip4_mask.time_to_live = masks->ipv4_mask.ttl;
 			ip4_val.time_to_live = input->flow.ip4_flow.ttl;
 		}
 		if (input->flow.ip4_flow.proto) {
-			ip4_mask.next_proto_id = 0xff;
+			ip4_mask.next_proto_id = masks->ipv4_mask.proto;
 			ip4_val.next_proto_id = input->flow.ip4_flow.proto;
 		}
 		if (input->flow.ip4_flow.src_ip) {
@@ -299,7 +299,7 @@  copy_fltr_v2(struct filter_v2 *fltr, struct rte_eth_fdir_input *input,
 		memset(&ipv6_val, 0, sizeof(struct ipv6_hdr));
 
 		if (input->flow.ipv6_flow.proto) {
-			ipv6_mask.proto = 0xff;
+			ipv6_mask.proto = masks->ipv6_mask.proto;
 			ipv6_val.proto = input->flow.ipv6_flow.proto;
 		}
 		for (i = 0; i < 4; i++) {
@@ -315,11 +315,11 @@  copy_fltr_v2(struct filter_v2 *fltr, struct rte_eth_fdir_input *input,
 					input->flow.ipv6_flow.dst_ip[i];
 		}
 		if (input->flow.ipv6_flow.tc) {
-			ipv6_mask.vtc_flow = 0x00ff0000;
+			ipv6_mask.vtc_flow = masks->ipv6_mask.tc << 16);
 			ipv6_val.vtc_flow = input->flow.ipv6_flow.tc << 16;
 		}
 		if (input->flow.ipv6_flow.hop_limits) {
-			ipv6_mask.hop_limits = 0xff;
+			ipv6_mask.hop_limits = masks->ipv6_mask.hop_limits;
 			ipv6_val.hop_limits = input->flow.ipv6_flow.hop_limits;
 		}