Merge "defconfig: msm-5.4: Adding gsb support to sdxlemur target"

This commit is contained in:
qctecmdr 2021-02-15 21:34:14 -08:00 committed by Gerrit - the friendly Code Review server
commit a6ec4c9e0d
3 changed files with 31 additions and 0 deletions

View File

@ -329,3 +329,4 @@ CONFIG_IPA_ETH_DEBUG=y
CONFIG_QCOM_SHOW_RESUME_IRQ=y
CONFIG_HARDENED_USERCOPY=y
# CONFIG_HARDENED_USERCOPY_FALLBACK is not set
CONFIG_ENABLE_GSB=y

View File

@ -462,6 +462,17 @@ config ENABLE_SFE
Changes to support Shortcut Forward Engine.
Add bridge API to access the bridge slave port.
#Generic-Software-Bridge
config ENABLE_GSB
bool "Enable generic-software-bridge"
depends on QGKI
help
ENABLE_GSB enables software acceleration on the target via gsb.
The change supports generic software bridge.
Helps to include gsb hook on the kernel.
Fulfills requirement of GSB network stack receive.
Change is supposed to go only on targets supporting gsb.
endif # if NET
# Used by archs to tell that they support BPF JIT compiler plus which flavour.

View File

@ -4718,6 +4718,11 @@ static inline int nf_ingress(struct sk_buff *skb, struct packet_type **pt_prev,
return 0;
}
#ifdef CONFIG_ENABLE_GSB
int (*gsb_nw_stack_recv)(struct sk_buff *skb) __rcu __read_mostly;
EXPORT_SYMBOL(gsb_nw_stack_recv);
#endif
static int (*embms_tm_multicast_recv)(struct sk_buff *skb) __rcu __read_mostly;
EXPORT_SYMBOL(embms_tm_multicast_recv);
@ -4751,6 +4756,10 @@ static int __netif_receive_skb_core(struct sk_buff **pskb, bool pfmemalloc,
int (*fast_recv)(struct sk_buff *skb, struct packet_type *pt_temp);
#endif
#ifdef CONFIG_ENABLE_GSB
int (*gsb_ns_recv)(struct sk_buff *skb);
#endif
net_timestamp_check(!netdev_tstamp_prequeue, skb);
trace_netif_receive_skb(skb);
@ -4823,6 +4832,16 @@ skip_taps:
process_embms_receive_skb(skb);
skip_classify:
#ifdef CONFIG_ENABLE_GSB
gsb_ns_recv = rcu_dereference(gsb_nw_stack_recv);
if (gsb_ns_recv) {
if (gsb_ns_recv(skb)) {
ret = NET_RX_SUCCESS;
goto out;
}
}
#endif
#ifdef CONFIG_ENABLE_SFE
fast_recv = rcu_dereference(athrs_fast_nat_recv);
if (fast_recv) {