aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/osmo_ss7_vty.c19
-rw-r--r--src/xua_as_fsm.c4
-rw-r--r--tests/vty/ss7_asp_test.vty2
3 files changed, 25 insertions, 0 deletions
diff --git a/src/osmo_ss7_vty.c b/src/osmo_ss7_vty.c
index 1b8b043..35640df 100644
--- a/src/osmo_ss7_vty.c
+++ b/src/osmo_ss7_vty.c
@@ -661,6 +661,24 @@ DEFUN(asp_role, asp_role_cmd,
return CMD_SUCCESS;
}
+DEFUN(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")
+{
+ struct osmo_ss7_asp *asp = vty->index;
+
+ if (!strcmp(argv[0], "client"))
+ asp->cfg.is_server = false;
+ else if (!strcmp(argv[0], "server"))
+ asp->cfg.is_server = true;
+ else
+ OSMO_ASSERT(0);
+
+ return CMD_SUCCESS;
+}
+
DEFUN(asp_block, asp_block_cmd,
"block",
"Allows a SCTP Association with ASP, but doesn't let it become active\n")
@@ -1876,6 +1894,7 @@ static void vty_init_shared(void *ctx)
install_element(L_CS7_ASP_NODE, &asp_local_ip_cmd);
install_element(L_CS7_ASP_NODE, &asp_qos_class_cmd);
install_element(L_CS7_ASP_NODE, &asp_role_cmd);
+ install_element(L_CS7_ASP_NODE, &asp_sctp_role_cmd);
install_element(L_CS7_ASP_NODE, &asp_block_cmd);
install_element(L_CS7_ASP_NODE, &asp_shutdown_cmd);
diff --git a/src/xua_as_fsm.c b/src/xua_as_fsm.c
index cf75ef3..97a2107 100644
--- a/src/xua_as_fsm.c
+++ b/src/xua_as_fsm.c
@@ -51,6 +51,10 @@ static int asp_notify_all_as(struct osmo_ss7_as *as, struct osmo_xlm_prim_notify
if (!asp)
continue;
+ /* NOTIFY are only sent by SG or IPSP role */
+ if (asp->cfg.role == OSMO_SS7_ASP_ROLE_ASP)
+ continue;
+
if (!asp->fi || asp->fi->state == XUA_ASP_S_DOWN)
continue;
diff --git a/tests/vty/ss7_asp_test.vty b/tests/vty/ss7_asp_test.vty
index bc899eb..eeda4c8 100644
--- a/tests/vty/ss7_asp_test.vty
+++ b/tests/vty/ss7_asp_test.vty
@@ -216,6 +216,7 @@ ss7_asp_vty_test(config-cs7-asp)# list
local-ip A.B.C.D
qos-class <0-255>
role (sg|asp|ipsp)
+ sctp-role (client|server)
block
shutdown
@@ -226,6 +227,7 @@ ss7_asp_vty_test(config-cs7-asp)# ?
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
block Allows a SCTP Association with ASP, but doesn't let it become active
shutdown Terminates SCTP association; New associations will be rejected