pespin has uploaded this change for review. (
https://gerrit.osmocom.org/c/libosmo-sigtran/+/40579?usp=email )
Change subject: ss7_vty: Avoid adding rote to local PC in role ASP
......................................................................
ss7_vty: Avoid adding rote to local PC in role ASP
This commit basically reverts b4f1b2cb8bd404f08601dc8ca700b672a455846c
from ~4 years ago.
In ASP role, the routing-key is configured with a local PC, since that's
what's announced during RKM towards the SG.
Hence, it makes no sense adding a route pointing to a local PCm because
the M3UA routing decisions first check if the DPC is local, and only then
otherwise tries to route it.
Change-Id: Ic602de42e37c4579f530823bb41e0a8193ce73bb
---
M src/ss7_as_vty.c
M src/ss7_vty.c
M src/ss7_vty.h
3 files changed, 1 insertion(+), 25 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-sigtran refs/changes/79/40579/1
diff --git a/src/ss7_as_vty.c b/src/ss7_as_vty.c
index 6ea170e..0b0ddc1 100644
--- a/src/ss7_as_vty.c
+++ b/src/ss7_as_vty.c
@@ -288,7 +288,6 @@
{
struct osmo_ss7_as *as = vty->index;
struct osmo_ss7_routing_key *rkey = &as->cfg.routing_key;
- struct osmo_ss7_route *rt;
int pc;
if (as->cfg.proto == OSMO_SS7_ASP_PROT_IPA && atoi(rcontext) != 0) {
@@ -303,34 +302,12 @@
return CMD_WARNING;
}
- /* When libosmo-sigtran is used in ASP role, the VTY routing table node
- * (config-cs7-rt) is not available. However, when we add a routing key
- * to an AS we still have to put a matching dynamic route into the routing
- * table. This is done automatically by first removing the old dynamic route
- * (users may change the routing key via VTY during runtime) and then
- * putting a new dynamic route (see below). */
- if (cs7_role == CS7_ROLE_ASP) {
- rt = ss7_route_table_find_route_by_dpc_mask(as->inst->rtable_system,
- rkey->pc, 0xffffff,
- true);
- if (rt)
- ss7_route_destroy(rt);
- }
-
rkey->pc = pc;
rkey->context = atoi(rcontext); /* FIXME: input validation */
rkey->si = si ? get_string_value(mtp_si_vals, si) : 0; /* FIXME: input validation */
rkey->ssn = ssn ? atoi(ssn) : 0; /* FIXME: input validation */
- /* automatically add new dynamic route (see also comment above) */
- if (cs7_role == CS7_ROLE_ASP) {
- if (!ss7_route_create(as->inst->rtable_system, rkey->pc, 0xffffff, true,
as->cfg.name)) {
- vty_out(vty, "Cannot create route (pc=%s, linkset=%s) to AS %s", dpc,
as->cfg.name, VTY_NEWLINE);
- return CMD_WARNING;
- }
- }
-
return CMD_SUCCESS;
}
diff --git a/src/ss7_vty.c b/src/ss7_vty.c
index 9916185..a8869d4 100644
--- a/src/ss7_vty.c
+++ b/src/ss7_vty.c
@@ -75,7 +75,7 @@
* Core CS7 Configuration
***********************************************************************/
-enum cs7_role_t cs7_role;
+static enum cs7_role_t cs7_role;
void *g_ctx;
static struct cmd_node cs7_node = {
diff --git a/src/ss7_vty.h b/src/ss7_vty.h
index 18dc5a6..3bafffd 100644
--- a/src/ss7_vty.h
+++ b/src/ss7_vty.h
@@ -18,7 +18,6 @@
};
extern void *g_ctx;
-extern enum cs7_role_t cs7_role;
extern const struct value_string ipproto_vals[];
#define CS7_STR "ITU-T Signaling System 7\n"
--
To view, visit
https://gerrit.osmocom.org/c/libosmo-sigtran/+/40579?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: libosmo-sigtran
Gerrit-Branch: master
Gerrit-Change-Id: Ic602de42e37c4579f530823bb41e0a8193ce73bb
Gerrit-Change-Number: 40579
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>