[Bugfix][API-1556] wifi driver support hwnat as default
Only Configure :No
Affected branch: MR3.0-Merge-v2.0-GSW
Affected module: WIFI
Is it affected on both ZXIC and MTK:only MTK
Self-test: Yes
Doc Update: No
Change-Id: I9deb715bbff4e37d828590f70590c412f42cb225
diff --git a/meta-sdk/meta/meta-lynqSDK-T800/recipes-core/initial/files/init_mount_nand b/meta-sdk/meta/meta-lynqSDK-T800/recipes-core/initial/files/init_mount_nand
index 9e3d750..39fb01e 100755
--- a/meta-sdk/meta/meta-lynqSDK-T800/recipes-core/initial/files/init_mount_nand
+++ b/meta-sdk/meta/meta-lynqSDK-T800/recipes-core/initial/files/init_mount_nand
@@ -187,10 +187,7 @@
#you.chen@2022-07-11 add for load oemapp begin
init_oemapp() {
#jb.qi add for enable hwnat on 20231205
- RESULT="$(cat /proc/cpuinfo|grep processor|wc -l)"
- if [ $RESULT = 2 ]; then
- ifconfig eth0 up
- fi
+ ifconfig eth0 up
mnt_folder oemdata /oemdata
diff --git a/meta/meta-mediatek-mt2735/recipes-core/initial/files/init_mount_nand b/meta/meta-mediatek-mt2735/recipes-core/initial/files/init_mount_nand
index 9e3d750..39fb01e 100755
--- a/meta/meta-mediatek-mt2735/recipes-core/initial/files/init_mount_nand
+++ b/meta/meta-mediatek-mt2735/recipes-core/initial/files/init_mount_nand
@@ -187,10 +187,7 @@
#you.chen@2022-07-11 add for load oemapp begin
init_oemapp() {
#jb.qi add for enable hwnat on 20231205
- RESULT="$(cat /proc/cpuinfo|grep processor|wc -l)"
- if [ $RESULT = 2 ]; then
- ifconfig eth0 up
- fi
+ ifconfig eth0 up
mnt_folder oemdata /oemdata
diff --git a/src/kernel/linux/v4.19/drivers/net/wireless/bcmdhd/Makefile b/src/kernel/linux/v4.19/drivers/net/wireless/bcmdhd/Makefile
index a99cf49..1b08a5c 100755
--- a/src/kernel/linux/v4.19/drivers/net/wireless/bcmdhd/Makefile
+++ b/src/kernel/linux/v4.19/drivers/net/wireless/bcmdhd/Makefile
@@ -592,7 +592,7 @@
DHDCFLAGS += -DRTT_SUPPORT -DRTT_DEBUG
DHDOFILES += dhd_rtt.o
endif
-EXTRA_CFLAGS += $(DHDCFLAGS) -DDHD_DEBUG
+EXTRA_CFLAGS += $(DHDCFLAGS) -DDHD_DEBUG -DCONFIG_MTK_WIFI_HWNAT
EXTRA_CFLAGS += -DSRCBASE=\"$(src)\"
EXTRA_CFLAGS += -I$(src)/include/ -I$(src)/
KBUILD_CFLAGS += -I$(KDIR)/include -I$(CURDIR)
diff --git a/src/kernel/linux/v4.19/drivers/net/wireless/bcmdhd/dhd_linux.c b/src/kernel/linux/v4.19/drivers/net/wireless/bcmdhd/dhd_linux.c
index 2aff5ed..6dd7539 100755
--- a/src/kernel/linux/v4.19/drivers/net/wireless/bcmdhd/dhd_linux.c
+++ b/src/kernel/linux/v4.19/drivers/net/wireless/bcmdhd/dhd_linux.c
@@ -62,7 +62,7 @@
#include <linux/irq.h>
#include <net/addrconf.h>
/*jb.qi add for wifi hwnat on 20231205 start*/
-#if CONFIG_MTK_CORE_NUM == 2
+#ifdef CONFIG_MTK_WIFI_HWNAT
#include <net/ra_nat.h>
#include <linux/kthread.h>
#include <linux/sched.h>
@@ -3586,7 +3586,7 @@
DHD_TRACE(("%s: Enter\n", __FUNCTION__));
/*jb.qi add for wifi hwnat on 20231205 start*/
-#if CONFIG_MTK_CORE_NUM == 2
+#ifdef CONFIG_MTK_WIFI_HWNAT
if (ppe_hook_tx_wifi) {
if (ppe_hook_tx_wifi(skb, 0) == 0) {
printk("morris ppe_hook_tx_wifi debug");
@@ -5010,7 +5010,7 @@
__FUNCTION__, __LINE__);
DHD_PERIM_UNLOCK_ALL((dhd->fwder_unit % FWDER_MAX_UNIT));
/*jb.qi add for wifi hwnat on 20231205 start*/
-#if CONFIG_MTK_CORE_NUM == 2
+#ifdef CONFIG_MTK_WIFI_HWNAT
if (ppe_hook_rx_wifi){
FOE_MAGIC_TAG(skb) = FOE_MAGIC_WLAN;
if (ppe_hook_rx_wifi(skb)) {
@@ -5022,7 +5022,7 @@
netif_rx(skb);
#endif /* !defined(DHD_LB_RXP) */
/*jb.qi add for wifi hwnat on 20231205 start*/
-#if CONFIG_MTK_CORE_NUM == 2
+#ifdef CONFIG_MTK_WIFI_HWNAT
}
}
if (!ppe_hook_rx_wifi){
@@ -5062,7 +5062,7 @@
#endif /* BCMPCIE && DHDTCPACK_SUPPRESS */
DHD_PERIM_UNLOCK_ALL((dhd->fwder_unit % FWDER_MAX_UNIT));
/*jb.qi add for wifi hwnat on 20231205 start*/
-#if CONFIG_MTK_CORE_NUM == 2
+#ifdef CONFIG_MTK_WIFI_HWNAT
if (ppe_hook_rx_wifi) {
FOE_MAGIC_TAG(skb) = FOE_MAGIC_WLAN;
if (ppe_hook_rx_wifi(skb)) {
@@ -5075,7 +5075,7 @@
netif_rx_ni(skb);
#endif /* defined(DHD_LB_RXP) */
/*jb.qi add for wifi hwnat on 20231205 start*/
-#if CONFIG_MTK_CORE_NUM == 2
+#ifdef CONFIG_MTK_WIFI_HWNAT
}
}
if (!ppe_hook_rx_wifi){
@@ -12562,7 +12562,7 @@
goto fail;
}
/*jb.qi add for wifi hwnat on 20231205 start*/
-#if CONFIG_MTK_CORE_NUM == 2
+#ifdef CONFIG_MTK_WIFI_HWNAT
else {
if (ppe_dev_register_hook != NULL){
diff --git a/src/kernel/linux/v4.19/drivers/net/wireless/bcmdhd/dhd_linux.h b/src/kernel/linux/v4.19/drivers/net/wireless/bcmdhd/dhd_linux.h
index d449b24..4e51087 100755
--- a/src/kernel/linux/v4.19/drivers/net/wireless/bcmdhd/dhd_linux.h
+++ b/src/kernel/linux/v4.19/drivers/net/wireless/bcmdhd/dhd_linux.h
@@ -402,7 +402,7 @@
int dhd_get_fw_mode(struct dhd_info *dhdinfo);
bool dhd_update_fw_nv_path(struct dhd_info *dhdinfo);
/*jb.qi add for wifi hwnat on 20231205 start*/
-#if CONFIG_MTK_CORE_NUM == 2
+#ifdef CONFIG_MTK_WIFI_HWNAT
extern int (*ppe_hook_rx_wifi)(struct sk_buff *skb);
extern int (*ppe_hook_tx_wifi)(struct sk_buff *skb, int gmac_no);
extern void (*ppe_dev_register_hook)(struct net_device *dev);
diff --git a/src/kernel/linux/v4.19/drivers/net/wireless/bcmdhd/dhd_msgbuf.c b/src/kernel/linux/v4.19/drivers/net/wireless/bcmdhd/dhd_msgbuf.c
index 1e4c18f..4865c42 100755
--- a/src/kernel/linux/v4.19/drivers/net/wireless/bcmdhd/dhd_msgbuf.c
+++ b/src/kernel/linux/v4.19/drivers/net/wireless/bcmdhd/dhd_msgbuf.c
@@ -4538,7 +4538,7 @@
break;
}
/*jb.qi add for wifi hwnat on 20231205 start*/
-#if CONFIG_MTK_CORE_NUM == 2
+#ifdef CONFIG_MTK_WIFI_HWNAT
skb_reserve((struct sk_buff*)p, NET_SKB_PAD+4);
#endif
/*jb.qi add for wifi hwnat on 20231205 end*/