[][kernel][common][hnat][Add PPE pkt_type condition to entry delete by bssid/wcid API]
[Description]
Add PPE pkt_type condition to entry delete by bssid/wcid API.
Because the winfo position are vary between different pkt_type,
without this patch, the API all would not delete the correct PPE entry
if the pkt_type is other than IPV4_GRP and IPV6_5T_ROUTE.
[Release-log]
N/A
Change-Id: I9ba0693602f023b830cad3465f99b13d3f4838c0
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/9699380
diff --git a/21.02/files/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_hnat/hnat.c b/21.02/files/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_hnat/hnat.c
index 7108152..8101261 100644
--- a/21.02/files/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_hnat/hnat.c
+++ b/21.02/files/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_hnat/hnat.c
@@ -433,6 +433,16 @@
entry->ipv4_hnapt.winfo.wcid != wcid ||
entry->ipv4_hnapt.iblk2.dp != port)
continue;
+ } else if (IS_IPV4_MAPE(entry) || IS_IPV4_MAPT(entry)) {
+ if (entry->ipv4_mape.winfo.bssid != bssid ||
+ entry->ipv4_mape.winfo.wcid != wcid ||
+ entry->ipv4_mape.iblk2.dp != port)
+ continue;
+ } else if (IS_IPV6_HNAPT(entry) || IS_IPV6_HNAT(entry)) {
+ if (entry->ipv6_hnapt.winfo.bssid != bssid ||
+ entry->ipv6_hnapt.winfo.wcid != wcid ||
+ entry->ipv6_hnapt.iblk2.dp != port)
+ continue;
} else {
if (entry->ipv6_5t_route.winfo.bssid != bssid ||
entry->ipv6_5t_route.winfo.wcid != wcid ||