blob: 75ed434f1487860ca4cbcce0353e25a6bdf219a5 [file] [log] [blame]
Subash Abhinov Kasiviswanathan2139ce8a2016-10-14 11:01:48 -06001/*
Subash Abhinov Kasiviswanathan4b5151f2018-01-25 23:14:39 -07002 * Copyright (c) 2014, 2016, 2018 The Linux Foundation. All rights reserved.
Subash Abhinov Kasiviswanathan2139ce8a2016-10-14 11:01:48 -06003 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 and
6 * only version 2 as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 *
14 * RMNET Data statistics
15 *
16 */
17
18#ifndef _RMNET_DATA_STATS_H_
19#define _RMNET_DATA_STATS_H_
20
21enum rmnet_skb_free_e {
22 RMNET_STATS_SKBFREE_UNKNOWN,
23 RMNET_STATS_SKBFREE_BRDG_NO_EGRESS,
24 RMNET_STATS_SKBFREE_DELIVER_NO_EP,
25 RMNET_STATS_SKBFREE_IPINGRESS_NO_EP,
26 RMNET_STATS_SKBFREE_MAPINGRESS_BAD_MUX,
Subash Abhinov Kasiviswanathan2139ce8a2016-10-14 11:01:48 -060027 RMNET_STATS_SKBFREE_MAPINGRESS_AGGBUF,
28 RMNET_STATS_SKBFREE_INGRESS_NOT_EXPECT_MAPD,
29 RMNET_STATS_SKBFREE_INGRESS_NOT_EXPECT_MAPC,
30 RMNET_STATS_SKBFREE_EGR_MAPFAIL,
31 RMNET_STATS_SKBFREE_VND_NO_EGRESS,
32 RMNET_STATS_SKBFREE_MAPC_BAD_MUX,
33 RMNET_STATS_SKBFREE_MAPC_MUX_NO_EP,
34 RMNET_STATS_SKBFREE_AGG_CPY_EXPAND,
35 RMNET_STATS_SKBFREE_AGG_INTO_BUFF,
36 RMNET_STATS_SKBFREE_DEAGG_MALFORMED,
37 RMNET_STATS_SKBFREE_DEAGG_CLONE_FAIL,
38 RMNET_STATS_SKBFREE_DEAGG_UNKNOWN_IP_TYPE,
39 RMNET_STATS_SKBFREE_DEAGG_DATA_LEN_0,
40 RMNET_STATS_SKBFREE_INGRESS_BAD_MAP_CKSUM,
41 RMNET_STATS_SKBFREE_MAPC_UNSUPPORTED,
Subash Abhinov Kasiviswanathan4b5151f2018-01-25 23:14:39 -070042 RMNET_STATS_SKBFREE_MAPINGRESS_MUX_NO_EP,
Subash Abhinov Kasiviswanathan2139ce8a2016-10-14 11:01:48 -060043 RMNET_STATS_SKBFREE_MAX
44};
45
46enum rmnet_queue_xmit_e {
47 RMNET_STATS_QUEUE_XMIT_UNKNOWN,
48 RMNET_STATS_QUEUE_XMIT_EGRESS,
49 RMNET_STATS_QUEUE_XMIT_AGG_FILL_BUFFER,
50 RMNET_STATS_QUEUE_XMIT_AGG_TIMEOUT,
51 RMNET_STATS_QUEUE_XMIT_AGG_CPY_EXP_FAIL,
52 RMNET_STATS_QUEUE_XMIT_AGG_SKIP,
53 RMNET_STATS_QUEUE_XMIT_MAX
54};
55
56void rmnet_kfree_skb(struct sk_buff *skb, unsigned int reason);
57void rmnet_stats_queue_xmit(int rc, unsigned int reason);
58void rmnet_stats_deagg_pkts(int aggcount);
59void rmnet_stats_agg_pkts(int aggcount);
60void rmnet_stats_dl_checksum(unsigned int rc);
61void rmnet_stats_ul_checksum(unsigned int rc);
62#endif /* _RMNET_DATA_STATS_H_ */