rmnet_core: CIWLAN HW Low-Latency Path

* Call hook to determine LL SKB

Change-Id: Id0686774a2faec227cb5fa9ac733023a69cfcdae
Signed-off-by: Elmer Melendez <quic_emelende@quicinc.com>
This commit is contained in:
Elmer Melendez
2022-04-25 20:37:03 -06:00
committed by Subash Abhinov Kasiviswanathan
parent 7e90328aee
commit 8638373d04

View File

@@ -57,6 +57,10 @@ typedef int (*rmnet_aps_post_queue_t)(struct net_device *dev,
rmnet_aps_post_queue_t rmnet_aps_post_queue __read_mostly;
EXPORT_SYMBOL(rmnet_aps_post_queue);
typedef void (*rmnet_wlan_ll_tuple_hook_t)(struct sk_buff *skb);
rmnet_wlan_ll_tuple_hook_t rmnet_wlan_ll_tuple_hook __rcu __read_mostly;
EXPORT_SYMBOL(rmnet_wlan_ll_tuple_hook);
/* RX/TX Fixup */
void rmnet_vnd_rx_fixup(struct net_device *dev, u32 skb_len)
@@ -96,6 +100,7 @@ static netdev_tx_t rmnet_vnd_start_xmit(struct sk_buff *skb,
unsigned int len;
rmnet_perf_tether_egress_hook_t rmnet_perf_tether_egress;
rmnet_aps_post_queue_t aps_post_queue;
rmnet_wlan_ll_tuple_hook_t rmnet_wlan_ll_tuple;
bool low_latency = false;
bool need_to_drop = false;
@@ -120,6 +125,11 @@ static netdev_tx_t rmnet_vnd_start_xmit(struct sk_buff *skb,
rmnet_perf_tether_egress(skb);
}
rmnet_wlan_ll_tuple = rcu_dereference(rmnet_wlan_ll_tuple_hook);
if (rmnet_wlan_ll_tuple) {
rmnet_wlan_ll_tuple(skb);
}
qmi_rmnet_get_flow_state(dev, skb, &need_to_drop, &low_latency);
if (unlikely(need_to_drop)) {
this_cpu_inc(priv->pcpu_stats->stats.tx_drops);