net/bnxt: fix flow counter query
authorSomnath Kotur <somnath.kotur@broadcom.com>
Mon, 3 Aug 2020 14:12:19 +0000 (19:42 +0530)
committerThomas Monjalon <thomas@monjalon.net>
Wed, 5 Aug 2020 19:25:47 +0000 (21:25 +0200)
commit48d1c589dd9b64803cd7728c4da2093f3abe84eb
tree22d1a1020dec0f43e3442caa07717e2e07fdca50
parent25b47db788f2152739b8d578097de35b1e0ae4f9
net/bnxt: fix flow counter query

OVS-DPDK seems to set the reset bit for every flow query. Honor
the bit by resetting the SW counter values after assigning them.
Also set the 'hit' bit only if the counter value retrieved by HW
is non-zero.
While querying flow stats, use max possible entries in the fc table scan
for valid entries instead of active entries as the active entry can be in
any slot in the table.

This is a critical fix for OVS-DPDK flow aging.

Fixes: 306c2d28e247 ("net/bnxt: support count action in flow query")

Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com>
Reviewed-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>
drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c