Linux Audio
Check our new training course
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
/* * Copyright (c) 2019 Intel Corporation * * SPDX-License-Identifier: Apache-2.0 */ #ifndef __PPP_STATS_H__ #define __PPP_STATS_H__ #if defined(CONFIG_NET_STATISTICS_PPP) #include <net/net_ip.h> #include <net/net_stats.h> #include <net/net_if.h> static inline void ppp_stats_update_bytes_rx(struct net_if *iface, u32_t bytes) { const struct ppp_api *api = (const struct ppp_api *) net_if_get_device(iface)->driver_api; struct net_stats_ppp *stats; if (!api->get_stats) { return; } stats = api->get_stats(net_if_get_device(iface)); if (!stats) { return; } stats->bytes.received += bytes; } static inline void ppp_stats_update_bytes_tx(struct net_if *iface, u32_t bytes) { const struct ppp_api *api = (const struct ppp_api *) net_if_get_device(iface)->driver_api; struct net_stats_ppp *stats; if (!api->get_stats) { return; } stats = api->get_stats(net_if_get_device(iface)); if (!stats) { return; } stats->bytes.sent += bytes; } static inline void ppp_stats_update_pkts_rx(struct net_if *iface) { const struct ppp_api *api = (const struct ppp_api *) net_if_get_device(iface)->driver_api; struct net_stats_ppp *stats; if (!api->get_stats) { return; } stats = api->get_stats(net_if_get_device(iface)); if (!stats) { return; } stats->pkts.rx++; } static inline void ppp_stats_update_pkts_tx(struct net_if *iface) { const struct ppp_api *api = (const struct ppp_api *) net_if_get_device(iface)->driver_api; struct net_stats_ppp *stats; if (!api->get_stats) { return; } stats = api->get_stats(net_if_get_device(iface)); if (!stats) { return; } stats->pkts.tx++; } static inline void ppp_stats_update_drop_rx(struct net_if *iface) { const struct ppp_api *api = ((const struct ppp_api *) net_if_get_device(iface)->driver_api); struct net_stats_ppp *stats; if (!api->get_stats) { return; } stats = api->get_stats(net_if_get_device(iface)); if (!stats) { return; } stats->drop++; } static inline void ppp_stats_update_fcs_error_rx(struct net_if *iface) { const struct ppp_api *api = ((const struct ppp_api *) net_if_get_device(iface)->driver_api); struct net_stats_ppp *stats; if (!api->get_stats) { return; } stats = api->get_stats(net_if_get_device(iface)); if (!stats) { return; } stats->chkerr++; } #else /* CONFIG_NET_STATISTICS_PPP */ #define ppp_stats_update_bytes_rx(iface, bytes) #define ppp_stats_update_bytes_tx(iface, bytes) #define ppp_stats_update_pkts_rx(iface) #define ppp_stats_update_pkts_tx(iface) #define ppp_stats_update_drop_rx(iface) #define ppp_stats_update_fcs_error_rx(iface) #endif /* CONFIG_NET_STATISTICS_PPP */ #endif /* __PPP_STATS_H__ */