mt7915: fix WiFI->LAN throughput with hwnat enabled

This commit is contained in:
hanwckf
2022-02-08 01:51:27 +08:00
parent ed67df5b8f
commit b03d87278c
3 changed files with 11 additions and 12 deletions

View File

@ -2581,16 +2581,10 @@ VOID RtmpOsPktNatMagicTag(PNDIS_PACKET pNetPkt)
{ {
struct sk_buff *pRxPkt = RTPKT_TO_OSPKT(pNetPkt); struct sk_buff *pRxPkt = RTPKT_TO_OSPKT(pNetPkt);
//FOE_MAGIC_TAG(pRxPkt) = FOE_MAGIC_WLAN;
if (IS_SPACE_AVAILABLE_HEAD(pRxPkt)) { if (IS_SPACE_AVAILABLE_HEAD(pRxPkt)) {
FOE_ALG_HEAD(pRxPkt) = 0;
FOE_MAGIC_TAG_HEAD(pRxPkt) = FOE_MAGIC_WLAN; FOE_MAGIC_TAG_HEAD(pRxPkt) = FOE_MAGIC_WLAN;
FOE_TAG_PROTECT_HEAD(pRxPkt) = TAG_PROTECT; } else {
} pr_err("%s: magic tag not set.\n", __func__);
if (IS_SPACE_AVAILABLE_TAIL(pRxPkt)) {
FOE_ALG_TAIL(pRxPkt) = 0;
FOE_MAGIC_TAG_TAIL(pRxPkt) = FOE_MAGIC_WLAN;
FOE_TAG_PROTECT_TAIL(pRxPkt) = TAG_PROTECT;
} }
} }
#endif /*CONFIG_FAST_NAT_SUPPORT*/ #endif /*CONFIG_FAST_NAT_SUPPORT*/

View File

@ -1274,19 +1274,23 @@ void announce_802_3_packet(
RTMP_CHIP_CAP *cap = hc_get_chip_cap(pAd->hdev_ctrl); RTMP_CHIP_CAP *cap = hc_get_chip_cap(pAd->hdev_ctrl);
BOOLEAN whnat_rx_en = pAd->CommonCfg.whnat_en && BOOLEAN whnat_rx_en = pAd->CommonCfg.whnat_en &&
(cap->tkn_info.feature & TOKEN_RX); (cap->tkn_info.feature & TOKEN_RX);
#else
BOOLEAN whnat_rx_en = FALSE;
#endif #endif
#ifdef PKTLOSS_CHK #ifdef PKTLOSS_CHK
if (pAd->pktloss_chk.enable) if (pAd->pktloss_chk.enable)
pAd->pktloss_chk.pktloss_chk_handler(pAd, GET_OS_PKT_DATAPTR(pRxPkt), MAT_ETHER_HDR_LEN, 3, FALSE); pAd->pktloss_chk.pktloss_chk_handler(pAd, GET_OS_PKT_DATAPTR(pRxPkt), MAT_ETHER_HDR_LEN, 3, FALSE);
#endif #endif
RtmpOsPktProtocolAssign(pRxPkt); RtmpOsPktProtocolAssign(pRxPkt);
#ifndef WHNAT_SUPPORT
RtmpOsPktNatMagicTag(pRxPkt);
if (ra_sw_nat_hook_rx(pRxPkt))
RtmpOsPktRcvHandle(pRxPkt, napi);
#else
if (!whnat_rx_en) { if (!whnat_rx_en) {
RtmpOsPktNatMagicTag(pRxPkt); RtmpOsPktNatMagicTag(pRxPkt);
if (ra_sw_nat_hook_rx(pRxPkt)) if (ra_sw_nat_hook_rx(pRxPkt))
RtmpOsPktRcvHandle(pRxPkt, napi); RtmpOsPktRcvHandle(pRxPkt, napi);
} else { } else {
if (RTMP_GET_PACKET_TYPE(pRxPkt) if (RTMP_GET_PACKET_TYPE(pRxPkt)
== RX_PPE_VALID) == RX_PPE_VALID)
@ -1294,6 +1298,7 @@ void announce_802_3_packet(
RtmpOsPktRcvHandle(pRxPkt, napi); RtmpOsPktRcvHandle(pRxPkt, napi);
} }
#endif
return; return;
} }
#endif /* CONFIG_FAST_NAT_SUPPORT */ #endif /* CONFIG_FAST_NAT_SUPPORT */

View File

@ -1821,7 +1821,7 @@ EXTRA_CFLAGS += -DKERNEL_RPS_ADJUST
ifeq ($(CONFIG_SOC_MT7621),y) ifeq ($(CONFIG_SOC_MT7621),y)
EXTRA_CFLAGS += -DRX_RPS_SUPPORT EXTRA_CFLAGS += -DRX_RPS_SUPPORT
endif endif
EXTRA_CFLAGS += -DPKTLOSS_CHK #EXTRA_CFLAGS += -DPKTLOSS_CHK
EXTRA_CFLAGS += -DVERIFICATION_MODE EXTRA_CFLAGS += -DVERIFICATION_MODE
EXTRA_CFLAGS += -DWIFI_MODULE_DVT EXTRA_CFLAGS += -DWIFI_MODULE_DVT
EXTRA_CFLAGS += -DDABS_QOS EXTRA_CFLAGS += -DDABS_QOS