diff options
author | Weiyi Chen <quic_weiyic@quicinc.com> | 2022-03-14 17:03:26 -0700 |
---|---|---|
committer | Weiyi Chen <quic_weiyic@quicinc.com> | 2022-03-29 22:52:02 -0700 |
commit | d26ada23f91706f1c97a274a01cfc994053c1cb7 (patch) | |
tree | 6b598f07882b526e2da9fde86ec1c92927a6e030 /core/rmnet_ctl_client.c | |
parent | ecd7f76efc9213c6628dfde2550930cbc8003279 (diff) | |
download | datarmnet-d26ada23f91706f1c97a274a01cfc994053c1cb7.tar.gz |
rmnet_core: ethtool QMAP stats
Add QMAP(rmnet_ctl) RX/TX stats to the ethtool.
Change-Id: I730c6e06aaadba20d56485891408abfa1be8c27a
Signed-off-by: Weiyi Chen <quic_weiyic@quicinc.com>
Diffstat (limited to 'core/rmnet_ctl_client.c')
-rw-r--r-- | core/rmnet_ctl_client.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/core/rmnet_ctl_client.c b/core/rmnet_ctl_client.c index b74f06e..e42c52e 100644 --- a/core/rmnet_ctl_client.c +++ b/core/rmnet_ctl_client.c @@ -231,3 +231,19 @@ struct rmnet_ctl_client_if *rmnet_ctl_if(void) return &client_if; } EXPORT_SYMBOL(rmnet_ctl_if); + +int rmnet_ctl_get_stats(u64 *s, int n) +{ + struct rmnet_ctl_dev *dev; + + rcu_read_lock(); + dev = rcu_dereference(ctl_ep.dev); + if (dev && n > 0) { + n = min(n, (int)(sizeof(dev->stats) / sizeof(u64))); + memcpy(s, &dev->stats, n * sizeof(u64)); + } + rcu_read_unlock(); + + return n; +} +EXPORT_SYMBOL(rmnet_ctl_get_stats); |