@@ -322,7 +322,6 @@ void initialize_counter(std::shared_ptr<swss::DBConnector> state_db, std::string
322
322
std::string table_name = counter_table + ifname;
323
323
324
324
auto init_value = gen_counter_json_str (DHCPv6_MESSAGE_TYPE_UNKNOWN, 0 );
325
- state_db->del (table_name);
326
325
state_db->hset (table_name, " RX" , init_value);
327
326
state_db->hset (table_name, " TX" , init_value);
328
327
}
@@ -1484,6 +1483,23 @@ void prepare_socket_callback(event_base *base, int socket, void (*cb)(evutil_soc
1484
1483
event_add (event, NULL );
1485
1484
}
1486
1485
1486
+ /* *
1487
+ * @code clear_counter(std::shared_ptr<swss::DBConnector> state_db);
1488
+ *
1489
+ * @brief Clear all counter
1490
+ *
1491
+ * @param state_db state_db connector pointer
1492
+ *
1493
+ */
1494
+ void clear_counter (std::shared_ptr<swss::DBConnector> state_db) {
1495
+ std::string match_pattern = counter_table + std::string (" *" );
1496
+ auto keys = state_db->keys (match_pattern);
1497
+
1498
+ for (auto &itr : keys) {
1499
+ state_db->del (itr);
1500
+ }
1501
+ }
1502
+
1487
1503
/* *
1488
1504
* @code loop_relay(std::unordered_map<relay_config> &vlans);
1489
1505
*
@@ -1513,6 +1529,8 @@ void loop_relay(std::unordered_map<std::string, relay_config> &vlans) {
1513
1529
prepare_socket_callback (base, out_filter, outbound_callback, reinterpret_cast <void *>(state_db.get ()));
1514
1530
sockets.push_back (out_filter);
1515
1531
1532
+ clear_counter (state_db);
1533
+
1516
1534
int lo_sock = -1 ;
1517
1535
if (dual_tor_sock) {
1518
1536
std::string lo_string (loopback);
0 commit comments