Loading arch/arm/configs/vendor/sdxlemur.config +1 −0 Original line number Diff line number Diff line Loading @@ -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 net/Kconfig +11 −0 Original line number Diff line number Diff line Loading @@ -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. Loading net/core/dev.c +19 −0 Original line number Diff line number Diff line Loading @@ -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); Loading Loading @@ -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); Loading Loading @@ -4823,6 +4832,16 @@ static int __netif_receive_skb_core(struct sk_buff **pskb, bool pfmemalloc, 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) { Loading Loading
arch/arm/configs/vendor/sdxlemur.config +1 −0 Original line number Diff line number Diff line Loading @@ -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
net/Kconfig +11 −0 Original line number Diff line number Diff line Loading @@ -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. Loading
net/core/dev.c +19 −0 Original line number Diff line number Diff line Loading @@ -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); Loading Loading @@ -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); Loading Loading @@ -4823,6 +4832,16 @@ static int __netif_receive_skb_core(struct sk_buff **pskb, bool pfmemalloc, 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) { Loading