neels has uploaded this change for review. (
https://gerrit.osmocom.org/c/osmo-upf/+/30230
)
Change subject: VTY: rename 'nft' to 'tunmap'
......................................................................
VTY: rename 'nft' to 'tunmap'
So far the config nodes were named after the implementation:
"GTP kernel module" = "gtp" and
"netfilter" = "nft"
We found that this is confusing, since both are related to handling GTP.
Rename "nft" to "tunmap"; a previous patch already renamed
"gtp" to
"tunend".
Keep a hidden "nft" VTY cmd as backwards compat alias.
Related: SYS#6192
Change-Id: Ia3c5224dd3b5f5c9437bbdec997d02176818cc97
---
M doc/examples/osmo-upf/osmo-upf-mockup.cfg
M src/osmo-upf/up_gtp_action.c
M src/osmo-upf/upf_nft.c
M src/osmo-upf/upf_vty.c
M tests/upf.vty
5 files changed, 39 insertions(+), 26 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-upf refs/changes/30/30230/1
diff --git a/doc/examples/osmo-upf/osmo-upf-mockup.cfg
b/doc/examples/osmo-upf/osmo-upf-mockup.cfg
index 36682a0..1150c34 100644
--- a/doc/examples/osmo-upf/osmo-upf-mockup.cfg
+++ b/doc/examples/osmo-upf/osmo-upf-mockup.cfg
@@ -13,5 +13,5 @@
local-addr 127.0.0.1
tunend
mockup
-nft
+tunmap
mockup
diff --git a/src/osmo-upf/up_gtp_action.c b/src/osmo-upf/up_gtp_action.c
index 8143cbf..0a86b2e 100644
--- a/src/osmo-upf/up_gtp_action.c
+++ b/src/osmo-upf/up_gtp_action.c
@@ -112,7 +112,7 @@
case UP_GTP_U_TUNMAP:
if (g_upf->nft.mockup) {
- LOG_UP_GTP_ACTION(a, LOGL_NOTICE, "nft/mockup active, skipping nftables ruleset
%s\n",
+ LOG_UP_GTP_ACTION(a, LOGL_NOTICE, "tunmap/mockup active, skipping nftables
ruleset %s\n",
enable ? "enable" : "disable");
return 0;
}
diff --git a/src/osmo-upf/upf_nft.c b/src/osmo-upf/upf_nft.c
index bcb6a70..4a2ca23 100644
--- a/src/osmo-upf/upf_nft.c
+++ b/src/osmo-upf/upf_nft.c
@@ -40,7 +40,7 @@
int rc;
if (g_upf->nft.mockup) {
- LOGP(DNFT, LOGL_NOTICE, "nft/mockup active: not running nft ruleset:
'%s'\n", ruleset);
+ LOGP(DNFT, LOGL_NOTICE, "tunmap/mockup active: not running nft ruleset:
'%s'\n", ruleset);
return 0;
}
@@ -64,7 +64,7 @@
int rc;
if (g_upf->nft.mockup) {
LOGP(DNFT, LOGL_NOTICE,
- "nft/mockup active: not allocating libnftables nft_ctx. FOR TESTING PURPOSES
ONLY.\n");
+ "tunmap/mockup active: not allocating libnftables nft_ctx. FOR TESTING
PURPOSES ONLY.\n");
return 0;
}
diff --git a/src/osmo-upf/upf_vty.c b/src/osmo-upf/upf_vty.c
index c43b382..f92ab05 100644
--- a/src/osmo-upf/upf_vty.c
+++ b/src/osmo-upf/upf_vty.c
@@ -41,7 +41,7 @@
enum upf_vty_node {
PFCP_NODE = _LAST_OSMOVTY_NODE + 1,
TUNEND_NODE,
- NFT_NODE,
+ TUNMAP_NODE,
};
static struct cmd_node cfg_pfcp_node = {
@@ -194,23 +194,26 @@
return CMD_SUCCESS;
}
-static struct cmd_node cfg_nft_node = {
- NFT_NODE,
- "%s(config-nft)# ",
+static struct cmd_node cfg_tunmap_node = {
+ TUNMAP_NODE,
+ "%s(config-tunmap)# ",
1,
};
-DEFUN(cfg_nft, cfg_nft_cmd,
- "nft",
- "Enter the 'nft' node to configure nftables usage\n")
+#define TUNMAP_NODE_STR "Enter the 'tunmap' node to configure nftables
usage\n"
+
+DEFUN(cfg_tunmap, cfg_tunmap_cmd, "tunmap", TUNMAP_NODE_STR)
{
- vty->node = NFT_NODE;
+ vty->node = TUNMAP_NODE;
return CMD_SUCCESS;
}
-static int config_write_nft(struct vty *vty)
+/* legacy compat: "tunmap" was originally named "nft" */
+DEFUN_CMD_ELEMENT(cfg_tunmap, cfg_nft_cmd, "nft", TUNMAP_NODE_STR,
CMD_ATTR_HIDDEN, 0);
+
+static int config_write_tunmap(struct vty *vty)
{
- vty_out(vty, "nft%s", VTY_NEWLINE);
+ vty_out(vty, "tunmap%s", VTY_NEWLINE);
if (g_upf->nft.mockup)
vty_out(vty, " mockup%s", VTY_NEWLINE);
@@ -220,7 +223,7 @@
return CMD_SUCCESS;
}
-DEFUN(cfg_nft_mockup, cfg_nft_mockup_cmd,
+DEFUN(cfg_tunmap_mockup, cfg_tunmap_mockup_cmd,
"mockup",
"don't actually send rulesets to nftables, just return success\n")
{
@@ -228,7 +231,7 @@
return CMD_SUCCESS;
}
-DEFUN(cfg_nft_no_mockup, cfg_nft_no_mockup_cmd,
+DEFUN(cfg_tunmap_no_mockup, cfg_tunmap_no_mockup_cmd,
"no mockup",
NO_STR
"operate nftables rulesets normally\n")
@@ -237,7 +240,7 @@
return CMD_SUCCESS;
}
-DEFUN(cfg_nft_table_name, cfg_nft_table_name_cmd,
+DEFUN(cfg_tunmap_table_name, cfg_tunmap_table_name_cmd,
"table-name TABLE_NAME",
"Set the nft inet table name to create and place GTP tunnel forwarding chains
in"
" (as in 'nft add table inet foo'). If multiple instances of osmo-upf
are running on the same system, each"
@@ -366,10 +369,11 @@
install_element(TUNEND_NODE, &cfg_tunend_dev_use_cmd);
install_element(TUNEND_NODE, &cfg_tunend_dev_del_cmd);
- install_node(&cfg_nft_node, config_write_nft);
+ install_node(&cfg_tunmap_node, config_write_tunmap);
+ install_element(CONFIG_NODE, &cfg_tunmap_cmd);
install_element(CONFIG_NODE, &cfg_nft_cmd);
- install_element(NFT_NODE, &cfg_nft_mockup_cmd);
- install_element(NFT_NODE, &cfg_nft_no_mockup_cmd);
- install_element(NFT_NODE, &cfg_nft_table_name_cmd);
+ install_element(TUNMAP_NODE, &cfg_tunmap_mockup_cmd);
+ install_element(TUNMAP_NODE, &cfg_tunmap_no_mockup_cmd);
+ install_element(TUNMAP_NODE, &cfg_tunmap_table_name_cmd);
}
diff --git a/tests/upf.vty b/tests/upf.vty
index 427209c..5100b17 100644
--- a/tests/upf.vty
+++ b/tests/upf.vty
@@ -45,19 +45,28 @@
DEVNAME device name, e.g. 'apn0'
OsmoUPF(config-tunend)# exit
+OsmoUPF(config)# # ensure its old name "nft" enters the tunmap node
OsmoUPF(config)# nft
-OsmoUPF(config-nft)# list
+OsmoUPF(config-tunmap)# list
+...
+ mockup
+ no mockup
+ table-name TABLE_NAME
+OsmoUPF(config-tunmap)# exit
+
+OsmoUPF(config)# tunmap
+OsmoUPF(config-tunmap)# list
...
mockup
no mockup
table-name TABLE_NAME
-OsmoUPF(config-nft)# mockup?
+OsmoUPF(config-tunmap)# mockup?
mockup don't actually send rulesets to nftables, just return success
-OsmoUPF(config-nft)# no ?
+OsmoUPF(config-tunmap)# no ?
mockup operate nftables rulesets normally
-OsmoUPF(config-nft)# table-name?
+OsmoUPF(config-tunmap)# table-name?
table-name Set the nft inet table name to create and place GTP tunnel forwarding
chains in (as in 'nft add table inet foo'). If multiple instances of osmo-upf are
running on the same system, each osmo-upf must have its own table name. Otherwise the
names of created forwarding chains will collide. The default table name is
"osmo-upf".
-OsmoUPF(config-nft)# table-name ?
+OsmoUPF(config-tunmap)# table-name ?
TABLE_NAME nft inet table name
--
To view, visit
https://gerrit.osmocom.org/c/osmo-upf/+/30230
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-upf
Gerrit-Branch: master
Gerrit-Change-Id: Ia3c5224dd3b5f5c9437bbdec997d02176818cc97
Gerrit-Change-Number: 30230
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-MessageType: newchange