diff --git a/include/osmocom/sigtran/osmo_ss7.h b/include/osmocom/sigtran/osmo_ss7.h index 2324532e..155e05a6 100644 --- a/include/osmocom/sigtran/osmo_ss7.h +++ b/include/osmocom/sigtran/osmo_ss7.h @@ -433,7 +433,7 @@ struct osmo_ss7_asp { bool is_server; enum osmo_ss7_asp_role role; bool role_set_by_vty; - bool sctp_role_set_by_vty; + bool trans_role_set_by_vty; struct osmo_ss7_asp_peer local; struct osmo_ss7_asp_peer remote; diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c index 42a3383e..890ddedd 100644 --- a/src/osmo_ss7_vty.c +++ b/src/osmo_ss7_vty.c @@ -1054,11 +1054,11 @@ DEFUN_ATTR(asp_role, asp_role_cmd, return CMD_SUCCESS; } -DEFUN_ATTR(sctp_role, asp_sctp_role_cmd, - "sctp-role (client|server)", - "Specify the SCTP role for this ASP\n" - "Operate as SCTP client; connect to a server\n" - "Operate as SCTP server; wait for client connections\n", +DEFUN_ATTR(asp_transport_role, asp_transport_role_cmd, + "transport-role (client|server)", + "Specify the transport layer role for this ASP\n" + "Operate as a client; connect to a server\n" + "Operate as a server; wait for client connections\n", CMD_ATTR_NODE_EXIT) { struct osmo_ss7_asp *asp = vty->index; @@ -1070,10 +1070,17 @@ DEFUN_ATTR(sctp_role, asp_sctp_role_cmd, else OSMO_ASSERT(0); - asp->cfg.sctp_role_set_by_vty = true; + asp->cfg.trans_role_set_by_vty = true; return CMD_SUCCESS; } +ALIAS_ATTR(asp_transport_role, asp_sctp_role_cmd, + "sctp-role (client|server)", + "Specify the SCTP role for this ASP\n" + "Operate as SCTP client; connect to a server\n" + "Operate as SCTP server; wait for client connections\n", + CMD_ATTR_HIDDEN | CMD_ATTR_NODE_EXIT); + #define ASP_SCTP_PARAM_INIT_DESC \ "Configure SCTP parameters\n" \ "Configure INIT related parameters\n" \ @@ -1719,7 +1726,7 @@ static void write_one_asp(struct vty *vty, struct osmo_ss7_asp *asp, bool show_d vty_out(vty, " qos-class %u%s", asp->cfg.qos_class, VTY_NEWLINE); vty_out(vty, " role %s%s", osmo_str_tolower(get_value_string(osmo_ss7_asp_role_names, asp->cfg.role)), VTY_NEWLINE); - vty_out(vty, " sctp-role %s%s", asp->cfg.is_server ? "server" : "client", VTY_NEWLINE); + vty_out(vty, " transport-role %s%s", asp->cfg.is_server ? "server" : "client", VTY_NEWLINE); if (asp->cfg.sctp_init.num_ostreams_present) vty_out(vty, " sctp-param init num-ostreams %u%s", asp->cfg.sctp_init.num_ostreams_value, VTY_NEWLINE); if (asp->cfg.sctp_init.max_instreams_present) @@ -2984,6 +2991,7 @@ static void vty_init_shared(void *ctx) install_lib_element(L_CS7_ASP_NODE, &asp_no_local_ip_cmd); install_lib_element(L_CS7_ASP_NODE, &asp_qos_class_cmd); install_lib_element(L_CS7_ASP_NODE, &asp_role_cmd); + install_lib_element(L_CS7_ASP_NODE, &asp_transport_role_cmd); install_lib_element(L_CS7_ASP_NODE, &asp_sctp_role_cmd); install_lib_element(L_CS7_ASP_NODE, &asp_sctp_param_init_cmd); install_lib_element(L_CS7_ASP_NODE, &asp_no_sctp_param_init_cmd); diff --git a/src/sccp_user.c b/src/sccp_user.c index b72b2a61..1dd3b301 100644 --- a/src/sccp_user.c +++ b/src/sccp_user.c @@ -636,7 +636,7 @@ osmo_sccp_simple_client_on_ss7_id(void *ctx, uint32_t ss7_id, const char *name, if (!asp) goto out_rt; asp_created = true; - /* Ensure that the ASP we use is set to sctp-role client. */ + /* Ensure that the ASP we use is set to operate as a client. */ asp->cfg.is_server = false; /* Ensure that the ASP we use is set to role ASP. */ asp->cfg.role = OSMO_SS7_ASP_ROLE_ASP; @@ -655,7 +655,7 @@ osmo_sccp_simple_client_on_ss7_id(void *ctx, uint32_t ss7_id, const char *name, /* Extra sanity checks if the ASP asp-clnt-* was pre-configured over VTY: */ if (!asp->simple_client_allocated) { /* Forbid ASPs defined through VTY that are not entirely - * configured. "role" and "sctp-role" must be explicitly provided: + * configured. "role" and "transport-role" must be explicitly provided: */ if (!asp->cfg.role_set_by_vty) { LOGP(DLSCCP, LOGL_ERROR, @@ -663,9 +663,9 @@ osmo_sccp_simple_client_on_ss7_id(void *ctx, uint32_t ss7_id, const char *name, name, asp->cfg.name); goto out_asp; } - if (!asp->cfg.sctp_role_set_by_vty) { + if (!asp->cfg.trans_role_set_by_vty) { LOGP(DLSCCP, LOGL_ERROR, - "%s: ASP %s defined in VTY but 'sctp-role' was not set there, please set it.\n", + "%s: ASP %s defined in VTY but 'transport-role' was not set there, please set it.\n", name, asp->cfg.name); goto out_asp; } @@ -673,19 +673,19 @@ osmo_sccp_simple_client_on_ss7_id(void *ctx, uint32_t ss7_id, const char *name, /* If ASP was configured through VTY it may be explicitly configured as * SCTP server. It may be a bit confusing since this function is to create * a "SCCP simple client", but this allows users of this API such as - * osmo-hnbgw to support SCTP-role server if properly configured through VTY. + * osmo-hnbgw to support transport-role server if properly configured through VTY. */ if (asp->cfg.is_server) { struct osmo_xua_server *xs; LOGP(DLSCCP, LOGL_NOTICE, - "%s: Requesting an SCCP simple client on ASP %s configured with 'sctp-role server'\n", + "%s: Requesting an SCCP simple client on ASP %s configured with 'transport-role server'\n", name, asp->cfg.name); xs = osmo_ss7_xua_server_find2(ss7, asp->cfg.trans_proto, prot, asp->cfg.local.port); if (!xs) { LOGP(DLSCCP, LOGL_ERROR, "%s: Requesting an SCCP simple client on ASP %s configured " - "with 'sctp-role server' but no matching xUA server was configured!\n", + "with 'transport-role server' but no matching xUA server was configured!\n", name, asp->cfg.name); goto out_asp; } diff --git a/tests/vty/ss7_asp_test.vty b/tests/vty/ss7_asp_test.vty index 7b360097..b8df809c 100644 --- a/tests/vty/ss7_asp_test.vty +++ b/tests/vty/ss7_asp_test.vty @@ -257,7 +257,7 @@ ss7_asp_vty_test(config-cs7-asp)# list no local-ip (A.B.C.D|X:X::X:X) qos-class <0-255> role (sg|asp|ipsp) - sctp-role (client|server) + transport-role (client|server) sctp-param init (num-ostreams|max-instreams|max-attempts|timeout) <0-65535> no sctp-param init (num-ostreams|max-instreams|max-attempts|timeout) block @@ -266,16 +266,16 @@ ss7_asp_vty_test(config-cs7-asp)# list ss7_asp_vty_test(config-cs7-asp)# ? ... - description Save human-readable description of the object - remote-ip Specify Remote IP Address of ASP - no Negate a command or set its defaults - local-ip Specify Local IP Address from which to contact ASP - qos-class Specify QoS Class of ASP - role Specify the xUA role for this ASP - sctp-role Specify the SCTP role for this ASP - sctp-param Configure SCTP parameters - block Allows a SCTP Association with ASP, but doesn't let it become active - shutdown Terminates SCTP association; New associations will be rejected + description Save human-readable description of the object + remote-ip Specify Remote IP Address of ASP + no Negate a command or set its defaults + local-ip Specify Local IP Address from which to contact ASP + qos-class Specify QoS Class of ASP + role Specify the xUA role for this ASP + transport-role Specify the transport layer role for this ASP + sctp-param Configure SCTP parameters + block Allows a SCTP Association with ASP, but doesn't let it become active + shutdown Terminates SCTP association; New associations will be rejected ... ss7_asp_vty_test(config-cs7-asp)# no ? @@ -423,7 +423,7 @@ cs7 instance 0 remote-ip 127.0.0.200 remote-ip 127.0.0.201 role sg - sctp-role server + transport-role server as my-ass m3ua asp my-asp routing-key 0 3.2.1