diff options
author | Harald Welte <laforge@osmocom.org> | 2021-03-05 10:22:23 +0100 |
---|---|---|
committer | Harald Welte <laforge@osmocom.org> | 2021-03-24 00:30:22 +0100 |
commit | 579699bc2d9a7777f748eadeb151103794ce6a79 (patch) | |
tree | 3f5605f63a7adf2346017ca8f87a73e9aeec0d74 /src | |
parent | 5b034fbab02299e1106e7a35af51cbeaf15f55eb (diff) |
gprs_ns2_vty: Allow creating NSE in sgsn-role
Change-Id: I694fa6c80d04d13cb1afaae93a9ae43b6dfd2207
Related: OS#3373
Diffstat (limited to 'src')
-rw-r--r-- | src/gb/gprs_ns2_vty.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index a769ad1b..42ab2b25 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -270,15 +270,19 @@ DEFUN(cfg_ns_timer, cfg_ns_timer_cmd, } DEFUN(cfg_ns_nsei, cfg_ns_nsei_cmd, - "nse <0-65535>", + "nse <0-65535> [ip-sns-role-sgsn]", "Persistent NS Entity\n" "NS Entity ID (NSEI)\n" + "Create NSE in SGSN role (default: BSS)\n" ) { struct gprs_ns2_nse *nse; struct vty_nse *vnse; uint16_t nsei = atoi(argv[0]); + bool sgsn_role = false; bool free_vnse = false; + if (argc > 1 && !strcmp(argv[1], "ip-sns-role-sgsn")) + sgsn_role = true; vnse = vty_nse_by_nsei(nsei); if (!vnse) { @@ -292,7 +296,8 @@ DEFUN(cfg_ns_nsei, cfg_ns_nsei_cmd, nse = gprs_ns2_nse_by_nsei(vty_nsi, nsei); if (!nse) { - nse = gprs_ns2_create_nse(vty_nsi, nsei, GPRS_NS2_LL_UNDEF, GPRS_NS2_DIALECT_UNDEF); + nse = gprs_ns2_create_nse2(vty_nsi, nsei, GPRS_NS2_LL_UNDEF, GPRS_NS2_DIALECT_UNDEF, + sgsn_role); if (!nse) { vty_out(vty, "Failed to create NSE!%s", VTY_NEWLINE); goto err; @@ -526,7 +531,8 @@ static void _config_write_ns_nse(struct vty *vty, struct gprs_ns2_nse *nse) OSMO_ASSERT(vnse); - vty_out(vty, " nse %u%s", nse->nsei, VTY_NEWLINE); + vty_out(vty, " nse %u%s%s", nse->nsei, + nse->ip_sns_role_sgsn ? " ip-sns-role-sgsn" : "", VTY_NEWLINE); switch (nse->dialect) { case GPRS_NS2_DIALECT_SNS: ns2_sns_write_vty(vty, nse); |