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