[][Kernel][hnat][Fix tport_id, tops_entry and cdrt_id in entry_detail]
[Description]
Fix tport_id, tops_entry and cdrt_id in entry_detail.
If without the patch, tops info displayed may not be correct.
[Release-log]
N/A
Change-Id: Iab3ebfe871e2c47cf3a82b2fe6c540a373d3d3bb
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/7945911
diff --git a/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_hnat/hnat_debugfs.c b/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_hnat/hnat_debugfs.c
index 96d446e..f648386 100644
--- a/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_hnat/hnat_debugfs.c
+++ b/target/linux/mediatek/files-5.4/drivers/net/ethernet/mediatek/mtk_hnat/hnat_debugfs.c
@@ -371,7 +371,11 @@
pr_info("==========<PPE_ID=%d, Flow Table Entry=%d (%p)>===============\n",
ppe_id, index, entry);
if (debug_level >= 2) {
- print_cnt = 20;
+ if (hnat_priv->data->version == MTK_HNAT_V3)
+ print_cnt = 28;
+ else
+ print_cnt = 20;
+
for (i = 0; i < print_cnt; i++)
pr_info("%02d: %08X\n", i, *(p + i));
}
@@ -619,10 +623,23 @@
"TCP" : entry->ipv6_5t_route.bfib1.udp == 1 ?
"UDP" : "Unknown");
#if defined(CONFIG_MEDIATEK_NETSYS_V3)
- pr_info("tport_id = %d, tops_entry = %d, cdrt_id = %d\n",
- entry->ipv6_5t_route.tport_id,
- entry->ipv6_5t_route.tops_entry,
- entry->ipv6_5t_route.cdrt_id);
+ if (IS_IPV6_HNAT(entry) || IS_IPV6_HNAPT(entry)) {
+ pr_info("tport_id = %d, tops_entry = %d, cdrt_id = %d\n",
+ entry->ipv6_hnapt.tport_id,
+ entry->ipv6_hnapt.tops_entry,
+ entry->ipv6_hnapt.cdrt_id);
+
+ } else if (IS_IPV4_MAPE(entry) || IS_IPV4_MAPT(entry)) {
+ pr_info("tport_id = %d, tops_entry = %d, cdrt_id = %d\n",
+ entry->ipv4_mape.tport_id,
+ entry->ipv4_mape.tops_entry,
+ entry->ipv4_mape.cdrt_id);
+ } else {
+ pr_info("tport_id = %d, tops_entry = %d, cdrt_id = %d\n",
+ entry->ipv6_5t_route.tport_id,
+ entry->ipv6_5t_route.tops_entry,
+ entry->ipv6_5t_route.cdrt_id);
+ }
#endif
pr_info("=========================================\n\n");
}