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);
//FOE_MAGIC_TAG(pRxPkt) = FOE_MAGIC_WLAN;
if (IS_SPACE_AVAILABLE_HEAD(pRxPkt)) {
FOE_ALG_HEAD(pRxPkt) = 0;
FOE_MAGIC_TAG_HEAD(pRxPkt) = FOE_MAGIC_WLAN;
FOE_TAG_PROTECT_HEAD(pRxPkt) = TAG_PROTECT;
}
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;
} else {
pr_err("%s: magic tag not set.\n", __func__);
}
}
#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);
BOOLEAN whnat_rx_en = pAd->CommonCfg.whnat_en &&
(cap->tkn_info.feature & TOKEN_RX);
#else
BOOLEAN whnat_rx_en = FALSE;
#endif
#ifdef PKTLOSS_CHK
if (pAd->pktloss_chk.enable)
pAd->pktloss_chk.pktloss_chk_handler(pAd, GET_OS_PKT_DATAPTR(pRxPkt), MAT_ETHER_HDR_LEN, 3, FALSE);
#endif
RtmpOsPktProtocolAssign(pRxPkt);
#ifndef WHNAT_SUPPORT
RtmpOsPktNatMagicTag(pRxPkt);
if (ra_sw_nat_hook_rx(pRxPkt))
RtmpOsPktRcvHandle(pRxPkt, napi);
#else
if (!whnat_rx_en) {
RtmpOsPktNatMagicTag(pRxPkt);
if (ra_sw_nat_hook_rx(pRxPkt))
RtmpOsPktRcvHandle(pRxPkt, napi);
RtmpOsPktRcvHandle(pRxPkt, napi);
} else {
if (RTMP_GET_PACKET_TYPE(pRxPkt)
== RX_PPE_VALID)
@ -1294,6 +1298,7 @@ void announce_802_3_packet(
RtmpOsPktRcvHandle(pRxPkt, napi);
}
#endif
return;
}
#endif /* CONFIG_FAST_NAT_SUPPORT */

View File

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