[][kernel][mt7988][hnat][Update hnat_entry command for the PPE2]
[Description]
Refactor hnat_entry command for the PPE2.
- Dump a specific entry from PPE2
echo 6 <entry_idx> > /sys/kernel/debug/hnat/hnat_entry
- Delete a specific entry from PPE2
echo 7 <entry_idx> > /sys/kernel/debug/hnat/hnat_entry
Without this patch, the users are unable to dump or delete entries
from PPE2.
[Release-log]
N/A
Change-Id: I7723910b24119cfd357ed5aac35e618476e916cb
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/8204620
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 fc7d216..e24c6fe 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
@@ -317,6 +317,8 @@
pr_info(" 3 <entry_idx> Delete PPE0 specific foe entry of assigned <entry_idx>\n");
pr_info(" 4 <entry_idx> Show PPE1 specific foe entry info. of assigned <entry_idx>\n");
pr_info(" 5 <entry_idx> Delete PPE1 specific foe entry of assigned <entry_idx>\n");
+ pr_info(" 6 <entry_idx> Show PPE2 specific foe entry info. of assigned <entry_idx>\n");
+ pr_info(" 7 <entry_idx> Delete PPE2 specific foe entry of assigned <entry_idx>\n");
pr_info(" When entry_idx is -1, clear all entries\n");
return 0;
@@ -333,16 +335,24 @@
return 0;
}
-int wrapped_ppe0_entry_detail(int index) {
+int wrapped_ppe0_entry_detail(int index)
+{
entry_detail(0, index);
return 0;
}
-int wrapped_ppe1_entry_detail(int index) {
+int wrapped_ppe1_entry_detail(int index)
+{
entry_detail(1, index);
return 0;
}
+int wrapped_ppe2_entry_detail(int index)
+{
+ entry_detail(2, index);
+ return 0;
+}
+
int entry_detail(u32 ppe_id, int index)
{
struct foe_entry *entry;
@@ -646,16 +656,24 @@
return 0;
}
-int wrapped_ppe0_entry_delete(int index) {
+int wrapped_ppe0_entry_delete(int index)
+{
entry_delete(0, index);
return 0;
}
-int wrapped_ppe1_entry_delete(int index) {
+int wrapped_ppe1_entry_delete(int index)
+{
entry_delete(1, index);
return 0;
}
+int wrapped_ppe2_entry_delete(int index)
+{
+ entry_delete(2, index);
+ return 0;
+}
+
int entry_delete(u32 ppe_id, int index)
{
struct foe_entry *entry;
@@ -825,6 +843,8 @@
[3] = wrapped_ppe0_entry_delete,
[4] = wrapped_ppe1_entry_detail,
[5] = wrapped_ppe1_entry_delete,
+ [6] = wrapped_ppe2_entry_detail,
+ [7] = wrapped_ppe2_entry_delete,
};
static const debugfs_write_func cr_set_func[] = {
@@ -1735,6 +1755,8 @@
case 3:
case 4:
case 5:
+ case 6:
+ case 7:
p_token = strsep(&p_buf, p_delimiter);
if (!p_token)
arg1 = 0;