浏览代码

rmnet_core: Add additional hook for rmnet_perf

Allows programatic setting fo runtime rmnet_perf paramters.

Change-Id: I882918f6d3f69cbfb027b55caa4cb1ffc35a71ab
Signed-off-by: Sean Tranchetti <[email protected]>
Sean Tranchetti 3 年之前
父节点
当前提交
0e2e5cc390
共有 3 个文件被更改,包括 15 次插入0 次删除
  1. 7 0
      core/rmnet_hook.h
  2. 1 0
      core/rmnet_module.h
  3. 7 0
      core/rmnet_private.h

+ 7 - 0
core/rmnet_hook.h

@@ -92,6 +92,13 @@ RMNET_MODULE_HOOK(perf_egress,
 	RMNET_MODULE_HOOK_RETURN_TYPE(void)
 );
 
+RMNET_MODULE_HOOK(perf_set_thresh,
+	RMNET_MODULE_HOOK_NUM(PERF_SET_THRESH),
+	RMNET_MODULE_HOOK_PROTOCOL(u32 hash, u32 thresh),
+	RMNET_MODULE_HOOK_ARGS(hash, thresh),
+	RMNET_MODULE_HOOK_RETURN_TYPE(void)
+);
+
 RMNET_MODULE_HOOK(aps_pre_queue,
 	RMNET_MODULE_HOOK_NUM(APS_PRE_QUEUE),
 	RMNET_MODULE_HOOK_PROTOCOL(struct net_device *dev, struct sk_buff *skb),

+ 1 - 0
core/rmnet_module.h

@@ -26,6 +26,7 @@ enum {
 	RMNET_MODULE_HOOK_PERF_TETHER_CMD,
 	RMNET_MODULE_HOOK_PERF_INGRESS,
 	RMNET_MODULE_HOOK_PERF_EGRESS,
+	RMNET_MODULE_HOOK_PERF_SET_THRESH,
 	RMNET_MODULE_HOOK_APS_PRE_QUEUE,
 	RMNET_MODULE_HOOK_APS_POST_QUEUE,
 	RMNET_MODULE_HOOK_WLAN_FLOW_MATCH,

+ 7 - 0
core/rmnet_private.h

@@ -1,4 +1,5 @@
 /* Copyright (c) 2013-2014, 2016-2021 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2023, Qualcomm Innovation Center, Inc. All rights reserved.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 and
@@ -53,9 +54,15 @@ struct rmnet_skb_cb {
 	char flush_shs;
 	char qmap_steer;
 
+	bool tethered;
+
 	/* coalescing stats */
 	u32 coal_bytes;
 	u32 coal_bufsize;
+
+	u32 bif;
+	u32 ack_thresh;
+	u32 ack_forced;
 };
 
 #define RMNET_SKB_CB(skb) ((struct rmnet_skb_cb *)(skb)->cb)