diff options
author | Alexander Couzens <lynxis@fe80.eu> | 2020-09-22 13:21:46 +0200 |
---|---|---|
committer | Alexander Couzens <lynxis@fe80.eu> | 2020-09-22 13:21:53 +0200 |
commit | e7de83375d0d149e429520b5d4ed4643daf070a4 (patch) | |
tree | 728d8af0e854289a9f2e0e052528949d6698f6bc /src/gbproxy/gb_proxy_vty.c | |
parent | 6d92f148aa2354da52b29f366ebd628c9c0c000a (diff) |
works great - push --force got master pls
Change-Id: Iecfd0408a35a11638d254c1db3c1d477b1a11524
Diffstat (limited to 'src/gbproxy/gb_proxy_vty.c')
-rw-r--r-- | src/gbproxy/gb_proxy_vty.c | 48 |
1 files changed, 29 insertions, 19 deletions
diff --git a/src/gbproxy/gb_proxy_vty.c b/src/gbproxy/gb_proxy_vty.c index 355b23fb1..3c13d1531 100644 --- a/src/gbproxy/gb_proxy_vty.c +++ b/src/gbproxy/gb_proxy_vty.c @@ -26,10 +26,11 @@ #include <inttypes.h> #include <osmocom/core/talloc.h> +#include <osmocom/core/timer.h> #include <osmocom/core/rate_ctr.h> #include <osmocom/gsm/gsm48.h> -#include <osmocom/gprs/gprs_ns.h> +#include <osmocom/gprs/gprs_ns2.h> #include <osmocom/gsm/apn.h> #include <osmocom/sgsn/debug.h> @@ -666,25 +667,34 @@ DEFUN(delete_gb_nsei, delete_gb_nsei_cmd, } if (delete_nsvc) { - struct gprs_ns_inst *nsi = g_cfg->nsi; - struct gprs_nsvc *nsvc, *nsvc2; - - counter = 0; - llist_for_each_entry_safe(nsvc, nsvc2, &nsi->gprs_nsvcs, list) { - if (nsvc->nsei != nsei) - continue; - if (nsvc->persistent) - continue; - - if (!dry_run) - gprs_nsvc_delete(nsvc); - else - vty_out(vty, "NS-VC: NSEI %5u, NS-VCI %5u, " - "remote %s%s", - nsvc->nsei, nsvc->nsvci, - gprs_ns_ll_str(nsvc), VTY_NEWLINE); - counter += 1; + struct gprs_ns2_inst *nsi = g_cfg->nsi; + struct gprs_ns2_nse *nse; + + counter = 1; + nse = gprs_ns2_nse_by_nsei(nsi, nsei); + if (!nse) { + /* TODO: fail vty */ + return CMD_ERR_NO_MATCH; } + + gprs_ns2_free_nse(nse); + /* TODO: old code could NOT delete a persistent NSEI/NSVC */ + +// llist_for_each_entry_safe(nsvc, nsvc2, &nsi->gprs_nsvcs, list) { +// if (nsvc->nsei != nsei) +// continue; +// if (nsvc->persistent) +// continue; + +// if (!dry_run) +// gprs_nsvc_delete(nsvc); +// else +// vty_out(vty, "NS-VC: NSEI %5u, NS-VCI %5u, " +// "remote %s%s", +// nsvc->nsei, nsvc->nsvci, +// gprs_ns_ll_str(nsvc), VTY_NEWLINE); +// counter += 1; +// } vty_out(vty, "%sDeleted %d NS-VC%s", dry_run ? "Not " : "", counter, VTY_NEWLINE); } |