blob: ab9f17424c10fbaed6b30cd1734cbf6b6102e358 [file] [log] [blame]
Zack Williams477ba092018-10-17 10:50:06 -07001/*
2 Copyright (C) 2018 Open Networking Foundation
3
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 3 of the License, or
7 (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
Nicolas Palpacuer0f19b1a2018-06-07 17:29:31 -040018#ifndef OPENOLT_STATS_COLLECTION_H_
19#define OPENOLT_STATS_COLLECTION_H_
20
21#include <openolt.grpc.pb.h>
22
23extern "C"
24{
Jason Huangd33b4d82019-05-15 18:22:57 +080025#include <bcmolt_api_model_supporting_structs.h>
Nicolas Palpacuer0f19b1a2018-06-07 17:29:31 -040026}
27
Shad Ansariedef2132018-08-10 22:14:50 +000028void init_stats();
Nicolas Palpacuer0f19b1a2018-06-07 17:29:31 -040029void stop_collecting_statistics();
30openolt::PortStatistics* get_default_port_statistics();
Jason Huangd33b4d82019-05-15 18:22:57 +080031openolt::PortStatistics* collectPortStatistics(bcmolt_interface_id intf_id, bcmolt_interface_type intf_type);
Shad Ansaricb004c52018-05-30 18:07:23 +000032#if 0
Nicolas Palpacuer0f19b1a2018-06-07 17:29:31 -040033openolt::FlowStatistics* get_default_flow_statistics();
34openolt::FlowStatistics* collectFlowStatistics(bcmbal_flow_id flow_id, bcmbal_flow_type flow_type);
Nicolas Palpacuer0f19b1a2018-06-07 17:29:31 -040035void register_new_flow(bcmbal_flow_key key);
Nicolas Palpacuer6a63ea92018-09-05 17:21:37 -040036#endif
Nicolas Palpacuer0f19b1a2018-06-07 17:29:31 -040037
38
39#endif