[Description]

Fix hook drop normal packet
In some cases, the packet match the to the logic
of eth->wlan of the legacy chip(mt7621).
After failing to find the interface,
it will be discarded by the hnat function.
Here packets should be handed over to the kernel

[Release-log]
N/A

Change-Id: Idca4c6e899e743c89fbcb562f2695a77b02a98af
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/7265953
This commit is contained in:
developer 2023-03-18 22:11:13 +08:00 committed by hanwckf
parent eab0d53b0d
commit fe05ec6020

View File

@ -488,7 +488,14 @@ unsigned int do_hnat_ge_to_ext(struct sk_buff *skb, const char *func)
else
index = entry->ipv6_5t_route.act_dp;
skb->dev = get_dev_from_index(index);
dev = get_dev_from_index(index);
if (!dev) {
trace_printk("%s: called from %s. Get wifi interface fail\n",
__func__, func);
return 0;
}
skb->dev = dev;
if (IS_HQOS_MODE && eth_hdr(skb)->h_proto == HQOS_MAGIC_TAG) {
skb = skb_unshare(skb, GFP_ATOMIC);