This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
daniel gerrit-no-reply at lists.osmocom.orgdaniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/21232 )
Change subject: Add VTY command to reset nsvcs
......................................................................
Add VTY command to reset nsvcs
Change-Id: I83b9cd7381c25da0e8aa847038a2d422c8dd63cf
Related: SYS#5002
---
M src/gb/gprs_ns2_vty.c
1 file changed, 58 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/32/21232/1
diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c
index 65fe88e..15b9e93 100644
--- a/src/gb/gprs_ns2_vty.c
+++ b/src/gb/gprs_ns2_vty.c
@@ -34,6 +34,7 @@
#include <osmocom/core/msgb.h>
#include <osmocom/core/byteswap.h>
+#include <osmocom/core/fsm.h>
#include <osmocom/core/talloc.h>
#include <osmocom/core/select.h>
#include <osmocom/core/rate_ctr.h>
@@ -354,6 +355,61 @@
return CMD_SUCCESS;
}
+struct nsvc_foreach_data {
+ const char *operation;
+ struct vty *vty;
+};
+
+int nsvc_operation_cb(struct gprs_ns2_vc *nsvc, void *ctx)
+{
+ struct nsvc_foreach_data *data = (struct nsvc_foreach_data *)ctx;
+ struct vty *vty = data->vty;
+
+ if (!strcmp(data->operation, "block")) {
+ vty_out(vty, "WARNING: Block not implemented%s", VTY_NEWLINE);
+// gprs_ns_tx_block(nsvc, NS_CAUSE_OM_INTERVENTION);
+ } else if (!strcmp(data->operation, "unblock")) {
+ vty_out(vty, "WARNING: Unblock not implemented%s", VTY_NEWLINE);
+// gprs_ns_tx_unblock(nsvc);
+ } else if (!strcmp(data->operation, "reset")) {
+ vty_out(vty, "Resetting NSVC %s%s", gprs_ns2_ll_str(nsvc), VTY_NEWLINE);
+ gprs_ns2_vc_reset(nsvc);
+ }
+
+
+}
+
+DEFUN(nsvc_nsei, nsvc_nsei_cmd,
+ "nsvc nsei <0-65535> (block|unblock|reset)",
+ "Perform an operation on all NSVCs of an NSE\n"
+ "The NSEI\n"
+ "Initiate BLOCK procedure\n"
+ "Initiate UNBLOCK procedure\n"
+ "Initiate RESET procedure\n")
+{
+ struct gprs_ns2_inst *nsi = vty_nsi;
+ struct gprs_ns2_nse *nse;
+
+ uint16_t id = atoi(argv[0]);
+ struct nsvc_foreach_data data = {
+ .operation = argv[1],
+ .vty = vty,
+ };
+
+
+ nse = gprs_ns2_nse_by_nsei(nsi, id);
+ if (!nse) {
+ vty_out(vty, "Could not find NSE for NSEI %u%s", id, VTY_NEWLINE);
+ return CMD_WARNING;
+ }
+
+ /* Perform the operation for all nsvc */
+ gprs_ns2_nse_foreach_nsvc(nse, nsvc_operation_cb, (void *)&data);
+
+ return CMD_SUCCESS;
+}
+
+
#define NSE_CMD_STR "Persistent NS Entity\n" "NS Entity ID (NSEI)\n"
DEFUN(cfg_nse_nsvc, cfg_nse_nsvci_cmd,
@@ -699,6 +755,8 @@
install_lib_element_ve(&show_nse_cmd);
install_lib_element_ve(&logging_fltr_nsvc_cmd);
+ install_lib_element(ENABLE_NODE, &nsvc_nsei_cmd);
+
install_lib_element(CFG_LOG_NODE, &logging_fltr_nsvc_cmd);
install_lib_element(CONFIG_NODE, &cfg_ns_cmd);
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/21232
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I83b9cd7381c25da0e8aa847038a2d422c8dd63cf
Gerrit-Change-Number: 21232
Gerrit-PatchSet: 1
Gerrit-Owner: daniel <dwillmann at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20201118/89bf31c8/attachment.htm>