diff options
author | 2016-11-13 14:06:04 +0200 | |
---|---|---|
committer | 2016-11-13 15:03:21 +0200 | |
commit | ac40e1ffe04b80de45d37e89810d2db8b1e41fe6 (patch) | |
tree | bcc6934c7d3b281372bd8a4fbe52e7c98f8a7c17 /src/dpdk | |
parent | 09c25b01e641a6297ff6732c4db9d1652d4ae707 (diff) |
enic fix mask and shift for ipv6.tc
Signed-off-by: Hanoh Haim <hhaim@cisco.com>
Diffstat (limited to 'src/dpdk')
-rw-r--r-- | src/dpdk/drivers/net/enic/enic_clsf.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/dpdk/drivers/net/enic/enic_clsf.c b/src/dpdk/drivers/net/enic/enic_clsf.c index c9dbda09..23cb0124 100644 --- a/src/dpdk/drivers/net/enic/enic_clsf.c +++ b/src/dpdk/drivers/net/enic/enic_clsf.c @@ -213,7 +213,7 @@ 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.ip_id) { @@ -305,7 +305,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++) { @@ -321,8 +321,8 @@ 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_val.vtc_flow = input->flow.ipv6_flow.tc << 16; + ipv6_mask.vtc_flow = ((uint32_t)masks->ipv6_mask.tc<<12); + ipv6_val.vtc_flow = input->flow.ipv6_flow.tc << 12; } if (input->flow.ipv6_flow.hop_limits) { ipv6_mask.hop_limits = 0xff; |