laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/35938?usp=email )
Change subject: Add new "cs7 instance <0-15> asp NAME disconnect" VTY command ......................................................................
Add new "cs7 instance <0-15> asp NAME disconnect" VTY command
This allows the user to administratively disconnect the current transport connection of a given ASP.
If issued on the client side, the default layer manager will trigger an automatic re-connect. If issued on the server side, we expect the client will re-connect.
Change-Id: I2077121ab860fafb70951454d029c3afa9ee2818 --- M src/osmo_ss7_vty.c M tests/vty/ss7_asp_test.vty 2 files changed, 43 insertions(+), 0 deletions(-)
Approvals: pespin: Looks good to me, but someone else must approve osmith: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified
diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index 1483ac0..836b3fd 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -698,6 +698,31 @@ return CMD_SUCCESS; }
+DEFUN(cs7_asp_disconnect, cs7_asp_disconnect_cmd, + "cs7 instance <0-15> asp NAME disconnect", + CS7_STR "Instance related commands\n" "SS7 Instance Number\n" + "ASP related commands\n" "Name of ASP\n" + "Disconnect the ASP (client will reconnect)\n") +{ + struct osmo_ss7_instance *inst; + struct osmo_ss7_asp *asp; + + inst = osmo_ss7_instance_find(atoi(argv[0])); + if (!inst) { + vty_out(vty, "unknown instance '%s'%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + asp = osmo_ss7_asp_find_by_name(inst, argv[1]); + if (!asp) { + vty_out(vty, "unknown ASP '%s'%s", argv[1], VTY_NEWLINE); + return CMD_WARNING; + } + + osmo_ss7_asp_disconnect(asp); + return CMD_SUCCESS; +} +
/*********************************************************************** * Application Server Process @@ -2838,6 +2863,7 @@ install_lib_element_ve(&show_cs7_user_cmd); install_lib_element_ve(&show_cs7_xua_cmd); install_lib_element_ve(&show_cs7_config_cmd); + install_lib_element(ENABLE_NODE, &cs7_asp_disconnect_cmd);
/* the mother of all VTY config nodes */ install_lib_element(CONFIG_NODE, &cs7_instance_cmd); diff --git a/tests/vty/ss7_asp_test.vty b/tests/vty/ss7_asp_test.vty index 914d8d4..d91df24 100644 --- a/tests/vty/ss7_asp_test.vty +++ b/tests/vty/ss7_asp_test.vty @@ -24,6 +24,7 @@ show cs7 instance <0-15> users show cs7 (sua|m3ua|ipa) [<0-65534>] show cs7 config + cs7 instance <0-15> asp NAME disconnect show cs7 instance <0-15> asp show cs7 instance <0-15> asp name ASP_NAME show cs7 instance <0-15> asp-remaddr