net/bnxt: fix accumulation of flow counters
authorSomnath Kotur <somnath.kotur@broadcom.com>
Fri, 17 Jul 2020 14:14:41 +0000 (19:44 +0530)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 21 Jul 2020 11:54:54 +0000 (13:54 +0200)
OVS-DPDK is accumulating the flow counters that are returned as part of
the flow_query API and it is being issued at least 3 times every second.
So there is no need to accumulate the counts internally in the driver.

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>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
drivers/net/bnxt/tf_ulp/ulp_fc_mgr.c

index 34a6ec3..febda94 100644 (file)
@@ -315,8 +315,8 @@ static int ulp_get_single_flow_stat(struct tf *tfp,
        /* TBD - Get PKT/BYTE COUNT SHIFT/MASK from Template */
        sw_cntr_indx = hw_cntr_id - fc_info->shadow_hw_tbl[dir].start_idx;
        sw_acc_tbl_entry = &fc_info->sw_acc_tbl[dir][sw_cntr_indx];
-       sw_acc_tbl_entry->pkt_count += FLOW_CNTR_PKTS(stats, dparms);
-       sw_acc_tbl_entry->byte_count += FLOW_CNTR_BYTES(stats, dparms);
+       sw_acc_tbl_entry->pkt_count = FLOW_CNTR_PKTS(stats, dparms);
+       sw_acc_tbl_entry->byte_count = FLOW_CNTR_BYTES(stats, dparms);
 
        return rc;
 }