* [dpdk-dev] mlx5 FDIR rule comparison issue
@ 2019-04-02 7:23 benli ye
2019-04-02 7:23 ` benli ye
2019-04-03 8:29 ` benli ye
0 siblings, 2 replies; 8+ messages in thread
From: benli ye @ 2019-04-02 7:23 UTC (permalink / raw)
To: dev
Hi Developers,
I am adding two FDIR rule (one is for UDP and the other is for TCP) for mlx5 pmd driver. The rules are listed below.
struct rte_eth_fdir_filter filt[MAX_FDIR_PROTO] = {
{
.input.flow_type = RTE_ETH_FLOW_NONFRAG_IPV4_TCP,
.input.flow.tcp4_flow.ip.dst_ip = dip,
.input.flow.tcp4_flow.dst_port = dport,
.action.behavior = RTE_ETH_FDIR_ACCEPT,
.action.report_status = RTE_ETH_FDIR_REPORT_ID,
.soft_id = 0,
},
{
.input.flow_type = RTE_ETH_FLOW_NONFRAG_IPV4_UDP,
.input.flow.udp4_flow.ip.dst_ip = dip,
.input.flow.udp4_flow.dst_port = dport,
.action.behavior = RTE_ETH_FDIR_ACCEPT,
.action.report_status = RTE_ETH_FDIR_REPORT_ID,
.soft_id = 1,
},
};
However, mlx5 lib prevent me to doing this as when it treats the two rules are the same.
I debugged for a while and found flow_fdir_cmp() didn’t compare the protocol type in field items of struct mlx5_fdir. So should this be a bug for mlx5?
flow_fdir_cmp(const struct mlx5_fdir *f1, const struct mlx5_fdir *f2)
{
if (FLOW_FDIR_CMP(f1, f2, attr) ||
FLOW_FDIR_CMP(f1, f2, l2) ||
FLOW_FDIR_CMP(f1, f2, l2_mask) ||
FLOW_FDIR_CMP(f1, f2, l3) ||
FLOW_FDIR_CMP(f1, f2, l3_mask) ||
FLOW_FDIR_CMP(f1, f2, l4) ||
FLOW_FDIR_CMP(f1, f2, l4_mask) ||
FLOW_FDIR_CMP(f1, f2, actions[0].type))
return 1;
if (f1->actions[0].type == RTE_FLOW_ACTION_TYPE_QUEUE &&
FLOW_FDIR_CMP(f1, f2, queue))
return 1;
return 0;
}
Thanks,
Daniel
^ permalink raw reply [flat|nested] 8+ messages in thread
* [dpdk-dev] mlx5 FDIR rule comparison issue
2019-04-02 7:23 [dpdk-dev] mlx5 FDIR rule comparison issue benli ye
@ 2019-04-02 7:23 ` benli ye
2019-04-03 8:29 ` benli ye
1 sibling, 0 replies; 8+ messages in thread
From: benli ye @ 2019-04-02 7:23 UTC (permalink / raw)
To: dev
Hi Developers,
I am adding two FDIR rule (one is for UDP and the other is for TCP) for mlx5 pmd driver. The rules are listed below.
struct rte_eth_fdir_filter filt[MAX_FDIR_PROTO] = {
{
.input.flow_type = RTE_ETH_FLOW_NONFRAG_IPV4_TCP,
.input.flow.tcp4_flow.ip.dst_ip = dip,
.input.flow.tcp4_flow.dst_port = dport,
.action.behavior = RTE_ETH_FDIR_ACCEPT,
.action.report_status = RTE_ETH_FDIR_REPORT_ID,
.soft_id = 0,
},
{
.input.flow_type = RTE_ETH_FLOW_NONFRAG_IPV4_UDP,
.input.flow.udp4_flow.ip.dst_ip = dip,
.input.flow.udp4_flow.dst_port = dport,
.action.behavior = RTE_ETH_FDIR_ACCEPT,
.action.report_status = RTE_ETH_FDIR_REPORT_ID,
.soft_id = 1,
},
};
However, mlx5 lib prevent me to doing this as when it treats the two rules are the same.
I debugged for a while and found flow_fdir_cmp() didn’t compare the protocol type in field items of struct mlx5_fdir. So should this be a bug for mlx5?
flow_fdir_cmp(const struct mlx5_fdir *f1, const struct mlx5_fdir *f2)
{
if (FLOW_FDIR_CMP(f1, f2, attr) ||
FLOW_FDIR_CMP(f1, f2, l2) ||
FLOW_FDIR_CMP(f1, f2, l2_mask) ||
FLOW_FDIR_CMP(f1, f2, l3) ||
FLOW_FDIR_CMP(f1, f2, l3_mask) ||
FLOW_FDIR_CMP(f1, f2, l4) ||
FLOW_FDIR_CMP(f1, f2, l4_mask) ||
FLOW_FDIR_CMP(f1, f2, actions[0].type))
return 1;
if (f1->actions[0].type == RTE_FLOW_ACTION_TYPE_QUEUE &&
FLOW_FDIR_CMP(f1, f2, queue))
return 1;
return 0;
}
Thanks,
Daniel
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [dpdk-dev] mlx5 FDIR rule comparison issue
2019-04-02 7:23 [dpdk-dev] mlx5 FDIR rule comparison issue benli ye
2019-04-02 7:23 ` benli ye
@ 2019-04-03 8:29 ` benli ye
2019-04-03 8:29 ` benli ye
2019-04-04 11:18 ` Dekel Peled
1 sibling, 2 replies; 8+ messages in thread
From: benli ye @ 2019-04-03 8:29 UTC (permalink / raw)
To: dekelp; +Cc: dev
+Dekel
Add Dekel to see if this is an issue.
Thanks,
Daniel
> On Apr 2, 2019, at 3:23 PM, benli ye <danielbenliye@gmail.com> wrote:
>
> Hi Developers,
>
> I am adding two FDIR rule (one is for UDP and the other is for TCP) for mlx5 pmd driver. The rules are listed below.
> struct rte_eth_fdir_filter filt[MAX_FDIR_PROTO] = {
> {
> .input.flow_type = RTE_ETH_FLOW_NONFRAG_IPV4_TCP,
> .input.flow.tcp4_flow.ip.dst_ip = dip,
> .input.flow.tcp4_flow.dst_port = dport,
>
> .action.behavior = RTE_ETH_FDIR_ACCEPT,
> .action.report_status = RTE_ETH_FDIR_REPORT_ID,
> .soft_id = 0,
> },
> {
> .input.flow_type = RTE_ETH_FLOW_NONFRAG_IPV4_UDP,
> .input.flow.udp4_flow.ip.dst_ip = dip,
> .input.flow.udp4_flow.dst_port = dport,
>
> .action.behavior = RTE_ETH_FDIR_ACCEPT,
> .action.report_status = RTE_ETH_FDIR_REPORT_ID,
> .soft_id = 1,
> },
> };
>
> However, mlx5 lib prevent me to doing this as when it treats the two rules are the same.
>
> I debugged for a while and found flow_fdir_cmp() didn’t compare the protocol type in field items of struct mlx5_fdir. So should this be a bug for mlx5?
>
> flow_fdir_cmp(const struct mlx5_fdir *f1, const struct mlx5_fdir *f2)
> {
> if (FLOW_FDIR_CMP(f1, f2, attr) ||
> FLOW_FDIR_CMP(f1, f2, l2) ||
> FLOW_FDIR_CMP(f1, f2, l2_mask) ||
> FLOW_FDIR_CMP(f1, f2, l3) ||
> FLOW_FDIR_CMP(f1, f2, l3_mask) ||
> FLOW_FDIR_CMP(f1, f2, l4) ||
> FLOW_FDIR_CMP(f1, f2, l4_mask) ||
> FLOW_FDIR_CMP(f1, f2, actions[0].type))
> return 1;
> if (f1->actions[0].type == RTE_FLOW_ACTION_TYPE_QUEUE &&
> FLOW_FDIR_CMP(f1, f2, queue))
> return 1;
> return 0;
> }
>
> Thanks,
> Daniel
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [dpdk-dev] mlx5 FDIR rule comparison issue
2019-04-03 8:29 ` benli ye
@ 2019-04-03 8:29 ` benli ye
2019-04-04 11:18 ` Dekel Peled
1 sibling, 0 replies; 8+ messages in thread
From: benli ye @ 2019-04-03 8:29 UTC (permalink / raw)
To: dekelp; +Cc: dev
+Dekel
Add Dekel to see if this is an issue.
Thanks,
Daniel
> On Apr 2, 2019, at 3:23 PM, benli ye <danielbenliye@gmail.com> wrote:
>
> Hi Developers,
>
> I am adding two FDIR rule (one is for UDP and the other is for TCP) for mlx5 pmd driver. The rules are listed below.
> struct rte_eth_fdir_filter filt[MAX_FDIR_PROTO] = {
> {
> .input.flow_type = RTE_ETH_FLOW_NONFRAG_IPV4_TCP,
> .input.flow.tcp4_flow.ip.dst_ip = dip,
> .input.flow.tcp4_flow.dst_port = dport,
>
> .action.behavior = RTE_ETH_FDIR_ACCEPT,
> .action.report_status = RTE_ETH_FDIR_REPORT_ID,
> .soft_id = 0,
> },
> {
> .input.flow_type = RTE_ETH_FLOW_NONFRAG_IPV4_UDP,
> .input.flow.udp4_flow.ip.dst_ip = dip,
> .input.flow.udp4_flow.dst_port = dport,
>
> .action.behavior = RTE_ETH_FDIR_ACCEPT,
> .action.report_status = RTE_ETH_FDIR_REPORT_ID,
> .soft_id = 1,
> },
> };
>
> However, mlx5 lib prevent me to doing this as when it treats the two rules are the same.
>
> I debugged for a while and found flow_fdir_cmp() didn’t compare the protocol type in field items of struct mlx5_fdir. So should this be a bug for mlx5?
>
> flow_fdir_cmp(const struct mlx5_fdir *f1, const struct mlx5_fdir *f2)
> {
> if (FLOW_FDIR_CMP(f1, f2, attr) ||
> FLOW_FDIR_CMP(f1, f2, l2) ||
> FLOW_FDIR_CMP(f1, f2, l2_mask) ||
> FLOW_FDIR_CMP(f1, f2, l3) ||
> FLOW_FDIR_CMP(f1, f2, l3_mask) ||
> FLOW_FDIR_CMP(f1, f2, l4) ||
> FLOW_FDIR_CMP(f1, f2, l4_mask) ||
> FLOW_FDIR_CMP(f1, f2, actions[0].type))
> return 1;
> if (f1->actions[0].type == RTE_FLOW_ACTION_TYPE_QUEUE &&
> FLOW_FDIR_CMP(f1, f2, queue))
> return 1;
> return 0;
> }
>
> Thanks,
> Daniel
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [dpdk-dev] mlx5 FDIR rule comparison issue
2019-04-03 8:29 ` benli ye
2019-04-03 8:29 ` benli ye
@ 2019-04-04 11:18 ` Dekel Peled
2019-04-04 11:18 ` Dekel Peled
2019-04-04 12:12 ` benli ye
1 sibling, 2 replies; 8+ messages in thread
From: Dekel Peled @ 2019-04-04 11:18 UTC (permalink / raw)
To: benli ye; +Cc: dev
Hi Daniel,
The flow_director API will be deprecated in the near future.
It was replaced by rte_flow API, which contains much more features, and is fully supported by Mellanox.
It is recommended that you use rte_flow API in your application.
Regards,
Dekel
> -----Original Message-----
> From: benli ye <danielbenliye@gmail.com>
> Sent: Wednesday, April 3, 2019 11:30 AM
> To: Dekel Peled <dekelp@mellanox.com>
> Cc: dev@dpdk.org
> Subject: Re: mlx5 FDIR rule comparison issue
>
> +Dekel
>
> Add Dekel to see if this is an issue.
>
> Thanks,
> Daniel
>
> > On Apr 2, 2019, at 3:23 PM, benli ye <danielbenliye@gmail.com> wrote:
> >
> > Hi Developers,
> >
> > I am adding two FDIR rule (one is for UDP and the other is for TCP) for mlx5
> pmd driver. The rules are listed below.
> > struct rte_eth_fdir_filter filt[MAX_FDIR_PROTO] = {
> > {
> > .input.flow_type = RTE_ETH_FLOW_NONFRAG_IPV4_TCP,
> > .input.flow.tcp4_flow.ip.dst_ip = dip,
> > .input.flow.tcp4_flow.dst_port = dport,
> >
> > .action.behavior = RTE_ETH_FDIR_ACCEPT,
> > .action.report_status = RTE_ETH_FDIR_REPORT_ID,
> > .soft_id = 0,
> > },
> > {
> > .input.flow_type = RTE_ETH_FLOW_NONFRAG_IPV4_UDP,
> > .input.flow.udp4_flow.ip.dst_ip = dip,
> > .input.flow.udp4_flow.dst_port = dport,
> >
> > .action.behavior = RTE_ETH_FDIR_ACCEPT,
> > .action.report_status = RTE_ETH_FDIR_REPORT_ID,
> > .soft_id = 1,
> > },
> > };
> >
> > However, mlx5 lib prevent me to doing this as when it treats the two rules
> are the same.
> >
> > I debugged for a while and found flow_fdir_cmp() didn’t compare the
> protocol type in field items of struct mlx5_fdir. So should this be a bug for
> mlx5?
> >
> > flow_fdir_cmp(const struct mlx5_fdir *f1, const struct mlx5_fdir *f2)
> > {
> > if (FLOW_FDIR_CMP(f1, f2, attr) ||
> > FLOW_FDIR_CMP(f1, f2, l2) ||
> > FLOW_FDIR_CMP(f1, f2, l2_mask) ||
> > FLOW_FDIR_CMP(f1, f2, l3) ||
> > FLOW_FDIR_CMP(f1, f2, l3_mask) ||
> > FLOW_FDIR_CMP(f1, f2, l4) ||
> > FLOW_FDIR_CMP(f1, f2, l4_mask) ||
> > FLOW_FDIR_CMP(f1, f2, actions[0].type))
> > return 1;
> > if (f1->actions[0].type == RTE_FLOW_ACTION_TYPE_QUEUE &&
> > FLOW_FDIR_CMP(f1, f2, queue))
> > return 1;
> > return 0;
> > }
> >
> > Thanks,
> > Daniel
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [dpdk-dev] mlx5 FDIR rule comparison issue
2019-04-04 11:18 ` Dekel Peled
@ 2019-04-04 11:18 ` Dekel Peled
2019-04-04 12:12 ` benli ye
1 sibling, 0 replies; 8+ messages in thread
From: Dekel Peled @ 2019-04-04 11:18 UTC (permalink / raw)
To: benli ye; +Cc: dev
Hi Daniel,
The flow_director API will be deprecated in the near future.
It was replaced by rte_flow API, which contains much more features, and is fully supported by Mellanox.
It is recommended that you use rte_flow API in your application.
Regards,
Dekel
> -----Original Message-----
> From: benli ye <danielbenliye@gmail.com>
> Sent: Wednesday, April 3, 2019 11:30 AM
> To: Dekel Peled <dekelp@mellanox.com>
> Cc: dev@dpdk.org
> Subject: Re: mlx5 FDIR rule comparison issue
>
> +Dekel
>
> Add Dekel to see if this is an issue.
>
> Thanks,
> Daniel
>
> > On Apr 2, 2019, at 3:23 PM, benli ye <danielbenliye@gmail.com> wrote:
> >
> > Hi Developers,
> >
> > I am adding two FDIR rule (one is for UDP and the other is for TCP) for mlx5
> pmd driver. The rules are listed below.
> > struct rte_eth_fdir_filter filt[MAX_FDIR_PROTO] = {
> > {
> > .input.flow_type = RTE_ETH_FLOW_NONFRAG_IPV4_TCP,
> > .input.flow.tcp4_flow.ip.dst_ip = dip,
> > .input.flow.tcp4_flow.dst_port = dport,
> >
> > .action.behavior = RTE_ETH_FDIR_ACCEPT,
> > .action.report_status = RTE_ETH_FDIR_REPORT_ID,
> > .soft_id = 0,
> > },
> > {
> > .input.flow_type = RTE_ETH_FLOW_NONFRAG_IPV4_UDP,
> > .input.flow.udp4_flow.ip.dst_ip = dip,
> > .input.flow.udp4_flow.dst_port = dport,
> >
> > .action.behavior = RTE_ETH_FDIR_ACCEPT,
> > .action.report_status = RTE_ETH_FDIR_REPORT_ID,
> > .soft_id = 1,
> > },
> > };
> >
> > However, mlx5 lib prevent me to doing this as when it treats the two rules
> are the same.
> >
> > I debugged for a while and found flow_fdir_cmp() didn’t compare the
> protocol type in field items of struct mlx5_fdir. So should this be a bug for
> mlx5?
> >
> > flow_fdir_cmp(const struct mlx5_fdir *f1, const struct mlx5_fdir *f2)
> > {
> > if (FLOW_FDIR_CMP(f1, f2, attr) ||
> > FLOW_FDIR_CMP(f1, f2, l2) ||
> > FLOW_FDIR_CMP(f1, f2, l2_mask) ||
> > FLOW_FDIR_CMP(f1, f2, l3) ||
> > FLOW_FDIR_CMP(f1, f2, l3_mask) ||
> > FLOW_FDIR_CMP(f1, f2, l4) ||
> > FLOW_FDIR_CMP(f1, f2, l4_mask) ||
> > FLOW_FDIR_CMP(f1, f2, actions[0].type))
> > return 1;
> > if (f1->actions[0].type == RTE_FLOW_ACTION_TYPE_QUEUE &&
> > FLOW_FDIR_CMP(f1, f2, queue))
> > return 1;
> > return 0;
> > }
> >
> > Thanks,
> > Daniel
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [dpdk-dev] mlx5 FDIR rule comparison issue
2019-04-04 11:18 ` Dekel Peled
2019-04-04 11:18 ` Dekel Peled
@ 2019-04-04 12:12 ` benli ye
2019-04-04 12:12 ` benli ye
1 sibling, 1 reply; 8+ messages in thread
From: benli ye @ 2019-04-04 12:12 UTC (permalink / raw)
To: Dekel Peled; +Cc: dev
Thanks Dekel for your information. I will have a try.
Bests,
Daniel
> On Apr 4, 2019, at 7:18 PM, Dekel Peled <dekelp@mellanox.com> wrote:
>
> Hi Daniel,
>
> The flow_director API will be deprecated in the near future.
> It was replaced by rte_flow API, which contains much more features, and is fully supported by Mellanox.
>
> It is recommended that you use rte_flow API in your application.
>
> Regards,
> Dekel
>
>> -----Original Message-----
>> From: benli ye <danielbenliye@gmail.com>
>> Sent: Wednesday, April 3, 2019 11:30 AM
>> To: Dekel Peled <dekelp@mellanox.com>
>> Cc: dev@dpdk.org
>> Subject: Re: mlx5 FDIR rule comparison issue
>>
>> +Dekel
>>
>> Add Dekel to see if this is an issue.
>>
>> Thanks,
>> Daniel
>>
>>> On Apr 2, 2019, at 3:23 PM, benli ye <danielbenliye@gmail.com> wrote:
>>>
>>> Hi Developers,
>>>
>>> I am adding two FDIR rule (one is for UDP and the other is for TCP) for mlx5
>> pmd driver. The rules are listed below.
>>> struct rte_eth_fdir_filter filt[MAX_FDIR_PROTO] = {
>>> {
>>> .input.flow_type = RTE_ETH_FLOW_NONFRAG_IPV4_TCP,
>>> .input.flow.tcp4_flow.ip.dst_ip = dip,
>>> .input.flow.tcp4_flow.dst_port = dport,
>>>
>>> .action.behavior = RTE_ETH_FDIR_ACCEPT,
>>> .action.report_status = RTE_ETH_FDIR_REPORT_ID,
>>> .soft_id = 0,
>>> },
>>> {
>>> .input.flow_type = RTE_ETH_FLOW_NONFRAG_IPV4_UDP,
>>> .input.flow.udp4_flow.ip.dst_ip = dip,
>>> .input.flow.udp4_flow.dst_port = dport,
>>>
>>> .action.behavior = RTE_ETH_FDIR_ACCEPT,
>>> .action.report_status = RTE_ETH_FDIR_REPORT_ID,
>>> .soft_id = 1,
>>> },
>>> };
>>>
>>> However, mlx5 lib prevent me to doing this as when it treats the two rules
>> are the same.
>>>
>>> I debugged for a while and found flow_fdir_cmp() didn’t compare the
>> protocol type in field items of struct mlx5_fdir. So should this be a bug for
>> mlx5?
>>>
>>> flow_fdir_cmp(const struct mlx5_fdir *f1, const struct mlx5_fdir *f2)
>>> {
>>> if (FLOW_FDIR_CMP(f1, f2, attr) ||
>>> FLOW_FDIR_CMP(f1, f2, l2) ||
>>> FLOW_FDIR_CMP(f1, f2, l2_mask) ||
>>> FLOW_FDIR_CMP(f1, f2, l3) ||
>>> FLOW_FDIR_CMP(f1, f2, l3_mask) ||
>>> FLOW_FDIR_CMP(f1, f2, l4) ||
>>> FLOW_FDIR_CMP(f1, f2, l4_mask) ||
>>> FLOW_FDIR_CMP(f1, f2, actions[0].type))
>>> return 1;
>>> if (f1->actions[0].type == RTE_FLOW_ACTION_TYPE_QUEUE &&
>>> FLOW_FDIR_CMP(f1, f2, queue))
>>> return 1;
>>> return 0;
>>> }
>>>
>>> Thanks,
>>> Daniel
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [dpdk-dev] mlx5 FDIR rule comparison issue
2019-04-04 12:12 ` benli ye
@ 2019-04-04 12:12 ` benli ye
0 siblings, 0 replies; 8+ messages in thread
From: benli ye @ 2019-04-04 12:12 UTC (permalink / raw)
To: Dekel Peled; +Cc: dev
Thanks Dekel for your information. I will have a try.
Bests,
Daniel
> On Apr 4, 2019, at 7:18 PM, Dekel Peled <dekelp@mellanox.com> wrote:
>
> Hi Daniel,
>
> The flow_director API will be deprecated in the near future.
> It was replaced by rte_flow API, which contains much more features, and is fully supported by Mellanox.
>
> It is recommended that you use rte_flow API in your application.
>
> Regards,
> Dekel
>
>> -----Original Message-----
>> From: benli ye <danielbenliye@gmail.com>
>> Sent: Wednesday, April 3, 2019 11:30 AM
>> To: Dekel Peled <dekelp@mellanox.com>
>> Cc: dev@dpdk.org
>> Subject: Re: mlx5 FDIR rule comparison issue
>>
>> +Dekel
>>
>> Add Dekel to see if this is an issue.
>>
>> Thanks,
>> Daniel
>>
>>> On Apr 2, 2019, at 3:23 PM, benli ye <danielbenliye@gmail.com> wrote:
>>>
>>> Hi Developers,
>>>
>>> I am adding two FDIR rule (one is for UDP and the other is for TCP) for mlx5
>> pmd driver. The rules are listed below.
>>> struct rte_eth_fdir_filter filt[MAX_FDIR_PROTO] = {
>>> {
>>> .input.flow_type = RTE_ETH_FLOW_NONFRAG_IPV4_TCP,
>>> .input.flow.tcp4_flow.ip.dst_ip = dip,
>>> .input.flow.tcp4_flow.dst_port = dport,
>>>
>>> .action.behavior = RTE_ETH_FDIR_ACCEPT,
>>> .action.report_status = RTE_ETH_FDIR_REPORT_ID,
>>> .soft_id = 0,
>>> },
>>> {
>>> .input.flow_type = RTE_ETH_FLOW_NONFRAG_IPV4_UDP,
>>> .input.flow.udp4_flow.ip.dst_ip = dip,
>>> .input.flow.udp4_flow.dst_port = dport,
>>>
>>> .action.behavior = RTE_ETH_FDIR_ACCEPT,
>>> .action.report_status = RTE_ETH_FDIR_REPORT_ID,
>>> .soft_id = 1,
>>> },
>>> };
>>>
>>> However, mlx5 lib prevent me to doing this as when it treats the two rules
>> are the same.
>>>
>>> I debugged for a while and found flow_fdir_cmp() didn’t compare the
>> protocol type in field items of struct mlx5_fdir. So should this be a bug for
>> mlx5?
>>>
>>> flow_fdir_cmp(const struct mlx5_fdir *f1, const struct mlx5_fdir *f2)
>>> {
>>> if (FLOW_FDIR_CMP(f1, f2, attr) ||
>>> FLOW_FDIR_CMP(f1, f2, l2) ||
>>> FLOW_FDIR_CMP(f1, f2, l2_mask) ||
>>> FLOW_FDIR_CMP(f1, f2, l3) ||
>>> FLOW_FDIR_CMP(f1, f2, l3_mask) ||
>>> FLOW_FDIR_CMP(f1, f2, l4) ||
>>> FLOW_FDIR_CMP(f1, f2, l4_mask) ||
>>> FLOW_FDIR_CMP(f1, f2, actions[0].type))
>>> return 1;
>>> if (f1->actions[0].type == RTE_FLOW_ACTION_TYPE_QUEUE &&
>>> FLOW_FDIR_CMP(f1, f2, queue))
>>> return 1;
>>> return 0;
>>> }
>>>
>>> Thanks,
>>> Daniel
>
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2019-04-04 12:12 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-02 7:23 [dpdk-dev] mlx5 FDIR rule comparison issue benli ye
2019-04-02 7:23 ` benli ye
2019-04-03 8:29 ` benli ye
2019-04-03 8:29 ` benli ye
2019-04-04 11:18 ` Dekel Peled
2019-04-04 11:18 ` Dekel Peled
2019-04-04 12:12 ` benli ye
2019-04-04 12:12 ` benli ye
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).