Commit Graph

12 Commits

Author SHA1 Message Date
Xiaoyun Wang
19cc028345 net/hinic: fix TCAM filter set
hinic supports two methods: linear table and tcam table,
if tcam filter enables failed but linear table is ok,
which also needs to enable filter, so for this scene,
driver should not close fdir switch.

Fixes: f4ca3fd54c ("net/hinic: create and destroy flow director filter")
Cc: stable@dpdk.org

Signed-off-by: Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>
2020-09-30 19:19:08 +02:00
Xiaoyun Wang
0c87a15f5f net/hinic: fix filters on memory allocation failure
If rte_zmalloc failed, pmd driver should also delete the ntuple
filter or ethertype filter or normal and tcam filter that already
added before.

Fixes: d7964ce192 ("net/hinic: check memory allocations in flow creation")
Cc: stable@dpdk.org

Signed-off-by: Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>
2020-09-30 19:19:08 +02:00
Yunjian Wang
2e8fb3d244 net/hinic: fix negative array index read
Negative array index read using variable 'i' as an index to array
'filter_info->pkt_filters'. Fixed by add return value check.

Coverity issue: 350364
Fixes: f4ca3fd54c ("net/hinic: create and destroy flow director filter")
Cc: stable@dpdk.org

Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2020-09-18 18:55:06 +02:00
Yunjian Wang
d7964ce192 net/hinic: check memory allocations in flow creation
The function rte_zmalloc() could return NULL, the return
value need to be checked.

Fixes: f4ca3fd54c ("net/hinic: create and destroy flow director filter")
Cc: stable@dpdk.org

Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
2020-07-30 00:41:23 +02:00
Xiaoyun Wang
0023e525a5 net/hinic: add TCAM filter switch for flow director
When the filter rule needs to use the TCAM method, driver
enables the TCAM filter switch, otherwise disables it, which
can improve the performance of microcode in FDIR scenarios that
does not use TCAM method.

Fixes: 1fe89aa37f ("net/hinic: add flow director filter")
Cc: stable@dpdk.org

Signed-off-by: Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>
2020-07-07 23:38:26 +02:00
Xiaoyun Wang
9d441c4551 net/hinic/base: support IPv6 flow rules
The patch supports ipv6 flow rules for BGP or ICMP packets.

Signed-off-by: Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>
2020-05-11 22:27:39 +02:00
Xiaoyun Wang
a528b671a1 net/hinic/base: optimize log style
The patch adds space between descriptors and variables in log files.

Signed-off-by: Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>
2020-04-21 13:57:07 +02:00
Xiaoyun Wang
1fe89aa37f net/hinic: add flow director filter
The patch supports filter type of inner VXLAN or non vxlan dport,
and use TCAM method to config these rules.

Signed-off-by: Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>
2020-04-21 13:57:04 +02:00
Xiaoyun Wang
1742421b9e net/hinic: flush flow director filter
Supports to flush fdir filter.
Destroy all flow rules associated with a port on hinic.

Signed-off-by: Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>
2019-10-23 16:43:08 +02:00
Xiaoyun Wang
f4ca3fd54c net/hinic: create and destroy flow director filter
Add support for creating/destroying fdir filter.
The filter rule includes LACP,ARP and ICMP packet type.

Signed-off-by: Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>
2019-10-23 16:43:08 +02:00
Xiaoyun Wang
a3920be330 net/hinic: create and destroy ntuple filter
Add support for creating/destroying ntuple filter.
The filter rule includes BGP and VRRP packet type.

Signed-off-by: Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>
2019-10-23 16:43:08 +02:00
Xiaoyun Wang
73122b52e8 net/hinic: add flow validation operations
This patch is to validate the filter rules, which includes
ntuple filter, ethertype filter and fdir filter. The packets
type that supported are BGP,VRRP,LACP,ARP and ICMP.

Signed-off-by: Xiaoyun Wang <cloud.wangxiaoyun@huawei.com>
2019-10-23 16:43:08 +02:00