lists.osmocom.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

gerrit-log

Thread Start a new thread
Download
Threads by month
  • ----- 2026 -----
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
gerrit-log@lists.osmocom.org

October 2026

  • 1 participants
  • 1202 discussions
[S] Change in osmo-ttcn3-hacks[master]: Document future removal of unneeded osmo-stp.cfg AS dynamic routing-k...
by pespin 08 Oct '26

08 Oct '26
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/43832?usp=email ) Change subject: Document future removal of unneeded osmo-stp.cfg AS dynamic routing-key routes ...................................................................... Document future removal of unneeded osmo-stp.cfg AS dynamic routing-key routes With recent libosmo-sigtran improvements, those routes are added automatically in a dynamic way, and there's no need to set them explicitly, which simplifies config quite a lot. Mark the places for future removal once we release libosmo-sigtran so we can use the same config files in both master and latest. Related: libosmo-sigtran.git Change-Id Icd9e43736ea9240060244cebcacba1f8119043a5 Related: OS#7070 Change-Id: I1ef20c7762a67d34461cd03b0390ace4358ca286 --- M bsc/osmo-stp.cfg M hnbgw/osmo-stp.cfg M msc/osmo-stp.cfg M sgsn/osmo-stp.cfg M smlc/osmo-stp.cfg M stp/osmo-stp-ipa-m3ua.confmerge M stp/osmo-stp-ipa.confmerge M stp/osmo-stp-m3ua-tcp.confmerge M stp/osmo-stp-m3ua.confmerge M stp/osmo-stp-tcap.confmerge 10 files changed, 14 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/32/43832/1 diff --git a/bsc/osmo-stp.cfg b/bsc/osmo-stp.cfg index 0ec559c..63791d0 100644 --- a/bsc/osmo-stp.cfg +++ b/bsc/osmo-stp.cfg @@ -73,6 +73,7 @@ routing-key 6 0.23.6 route-table system + ! These 'update route' below are no longer needed and can be dropped with libosmo-sigtran >2.3.0: update route 0.23.3 7.255.7 linkset bsc0 update route 0.23.1 7.255.7 linkset virt-msc0 update route 0.0.2 7.255.7 linkset virt-msc1 diff --git a/hnbgw/osmo-stp.cfg b/hnbgw/osmo-stp.cfg index fe01f7f..4dc8e71 100644 --- a/hnbgw/osmo-stp.cfg +++ b/hnbgw/osmo-stp.cfg @@ -101,6 +101,7 @@ routing-key 6 0.1.3 route-table system + ! These 'update route' below are no longer needed and can be dropped with libosmo-sigtran >2.3.0: update route 0.23.5 7.255.7 linkset hnbgw0 update route 0.23.1 7.255.7 linkset virt-msc0 update route 0.0.2 7.255.7 linkset virt-msc1 diff --git a/msc/osmo-stp.cfg b/msc/osmo-stp.cfg index ad43ba2..5da1f41 100644 --- a/msc/osmo-stp.cfg +++ b/msc/osmo-stp.cfg @@ -60,6 +60,7 @@ asp virt-rnc0-0 routing-key 2 0.24.3 route-table system + ! These 'update route' below are no longer needed and can be dropped with libosmo-sigtran >2.3.0: update route 0.23.1 7.255.7 linkset msc0 update route 0.24.1 7.255.7 linkset virt-bsc0 update route 0.24.2 7.255.7 linkset virt-bsc1 diff --git a/sgsn/osmo-stp.cfg b/sgsn/osmo-stp.cfg index 93e35db..08d5809 100644 --- a/sgsn/osmo-stp.cfg +++ b/sgsn/osmo-stp.cfg @@ -55,6 +55,7 @@ asp virt-rnc0-0 routing-key 2 0.24.3 route-table system + ! These 'update route' below are no longer needed and can be dropped with libosmo-sigtran >2.3.0: update route 0.23.4 7.255.7 linkset sgsn0 update route 0.24.3 7.255.7 linkset virt-rnc0 listen m3ua 2905 diff --git a/smlc/osmo-stp.cfg b/smlc/osmo-stp.cfg index 654ddfc..f8589da 100644 --- a/smlc/osmo-stp.cfg +++ b/smlc/osmo-stp.cfg @@ -44,6 +44,7 @@ routing-key 1 0.23.3 route-table system + ! These 'update route' below are no longer needed and can be dropped with libosmo-sigtran >2.3.0: update route 0.23.3 7.255.7 linkset virt-bsc0 update route 0.23.6 7.255.7 linkset smlc0 listen m3ua 2905 diff --git a/stp/osmo-stp-ipa-m3ua.confmerge b/stp/osmo-stp-ipa-m3ua.confmerge index ce3123b..cfe005e 100644 --- a/stp/osmo-stp-ipa-m3ua.confmerge +++ b/stp/osmo-stp-ipa-m3ua.confmerge @@ -22,8 +22,8 @@ ! ROUTING TABLE: ! route-table system + ! These 'update route' below are no longer needed and can be dropped with libosmo-sigtran >2.3.0: update route 23 16777215 linkset as-sender - route-table system update route 5 16777215 linkset ipa-as-dynamic-asp ! !SERVERS: diff --git a/stp/osmo-stp-ipa.confmerge b/stp/osmo-stp-ipa.confmerge index 9ef997d..76db4a3 100644 --- a/stp/osmo-stp-ipa.confmerge +++ b/stp/osmo-stp-ipa.confmerge @@ -87,11 +87,12 @@ ! ROUTING TABLE: ! route-table system + ! These 2 below are no longer needed and can be dropped with libosmo-sigtran >2.3.0: update route 31 16777215 linkset ipa-as-loadshare-receiver + update route 33 16777215 linkset ipa-as-override-receiver ! These 2 below are used in TC_combinedlset_loadshare to route traffic from ipa-as-loadshare-receiver towards: update route 32 16777215 linkset ipa-as-LS0-0 priority 6 update route 32 16777215 linkset ipa-as-LS0-1 priority 6 - update route 33 16777215 linkset ipa-as-override-receiver ! !SERVERS: ! diff --git a/stp/osmo-stp-m3ua-tcp.confmerge b/stp/osmo-stp-m3ua-tcp.confmerge index 7c77b05..cb5d007 100644 --- a/stp/osmo-stp-m3ua-tcp.confmerge +++ b/stp/osmo-stp-m3ua-tcp.confmerge @@ -49,9 +49,9 @@ ! ROUTING TABLE: ! route-table system + ! These 'update route' below are no longer needed and can be dropped with libosmo-sigtran >2.3.0: update route 123 16777215 linkset as-sender-tcp update route 155 16777215 linkset as-client-tcp - route-table system update route 23 16777215 linkset as-sender update route 55 16777215 linkset as-client ! diff --git a/stp/osmo-stp-m3ua.confmerge b/stp/osmo-stp-m3ua.confmerge index c69714c..34b9ba5 100644 --- a/stp/osmo-stp-m3ua.confmerge +++ b/stp/osmo-stp-m3ua.confmerge @@ -115,10 +115,12 @@ ! ROUTING TABLE: ! route-table system - update route 23 16777215 linkset as-sender - update route 42 16777215 linkset as-receiver + ! PC 99 used as combined-linkset loadsharing between as-LS0-0 and as-LS0-1 update route 99 16777215 linkset as-LS0-0 priority 3 update route 99 16777215 linkset as-LS0-1 priority 3 + ! These 'update route' below are no longer needed and can be dropped with libosmo-sigtran >2.3.0: + update route 23 16777215 linkset as-sender + update route 42 16777215 linkset as-receive update route 55 16777215 linkset as-client update route 60 16777215 linkset as-client60-norctx update route 61 16777215 linkset as-client61-norctx diff --git a/stp/osmo-stp-tcap.confmerge b/stp/osmo-stp-tcap.confmerge index da607a5..f0afa33 100644 --- a/stp/osmo-stp-tcap.confmerge +++ b/stp/osmo-stp-tcap.confmerge @@ -130,6 +130,7 @@ ! ROUTING TABLE: ! route-table system + ! These 'update route' below are no longer needed and can be dropped with libosmo-sigtran >2.3.0: update route 23 16777215 linkset as-m3ua-loadshare-0 update route 24 16777215 linkset as-m3ua-loadshare-1 update route 25 16777215 linkset as-m3ua-loadshare-2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/43832?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: newchange Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1ef20c7762a67d34461cd03b0390ace4358ca286 Gerrit-Change-Number: 43832 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de>
1 0
0 0
[S] Change in osmo-ci[master]: scripts/osmocom-api-doxygen.sh: upload doxygen output only
by fixeria 08 Oct '26

08 Oct '26
fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/43786?usp=email ) Change subject: scripts/osmocom-api-doxygen.sh: upload doxygen output only ...................................................................... scripts/osmocom-api-doxygen.sh: upload doxygen output only So far the whole doc/ directory was uploaded, including files that have nothing to do with the API documentation: Makefile{,.am,.in}, examples/, manuals/, *.tag.prep stamp files, etc. Use rsync filter rules to upload only the doxygen output: html/ and latex/ trees (possibly nested in a per-library subdirectory, like doc/core/html in libosmocore), plus *.tag files and html.tar. Pass --delete-excluded, so that the files uploaded previously by mistake get removed from the server. Change-Id: I41eeafedfa2105a8c127d73d3fc37c1130009b3b --- M scripts/osmocom-api-doxygen.sh 1 file changed, 12 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve diff --git a/scripts/osmocom-api-doxygen.sh b/scripts/osmocom-api-doxygen.sh index 6713b9a..47d83e3 100755 --- a/scripts/osmocom-api-doxygen.sh +++ b/scripts/osmocom-api-doxygen.sh @@ -62,9 +62,21 @@ continue fi + # Upload only doxygen output (html/ and latex/ trees, possibly nested in + # a per-library subdirectory, plus tag files and html.tar), but not the + # other files in doc/ (Makefiles, examples, manuals, ...). Excluded + # files that were uploaded previously get deleted on the server. rsync \ -avz \ --delete \ + --delete-excluded \ + --prune-empty-dirs \ + --include='html/***' \ + --include='latex/***' \ + --include='/*.tag' \ + --include='/html.tar' \ + --include='*/' \ + --exclude='*' \ -e "$SSH_CMD" \ ./"$doc_dir"/ \ api@ftp.osmocom.org:web-files/latest/"$dest"/ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/43786?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: merged Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I41eeafedfa2105a8c127d73d3fc37c1130009b3b Gerrit-Change-Number: 43786 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: osmith <osmith(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
1 0
0 0
[S] Change in osmo-ci[master]: scripts/osmocom-api-doxygen.sh: fix upliading libosmo-trx docs
by fixeria 08 Oct '26

08 Oct '26
fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/43785?usp=email ) Change subject: scripts/osmocom-api-doxygen.sh: fix upliading libosmo-trx docs ...................................................................... scripts/osmocom-api-doxygen.sh: fix upliading libosmo-trx docs libosmo-trx lives in osmo-trx.git and has its own doc directory: ./libosmo-trx/doc Upload this directory instead of the repository root ./doc that contains no API documentation at all. Change-Id: Ia5add0cdcb2fd24f113c7050cb7efb579b50d8e5 Fixes: 29da2f1 ("scripts/osmocom-api-doxygen.sh: add libusrp, osmo-e1d, osmo-trx") --- M scripts/osmocom-api-doxygen.sh 1 file changed, 15 insertions(+), 3 deletions(-) Approvals: pespin: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/scripts/osmocom-api-doxygen.sh b/scripts/osmocom-api-doxygen.sh index 018e1fc..6713b9a 100755 --- a/scripts/osmocom-api-doxygen.sh +++ b/scripts/osmocom-api-doxygen.sh @@ -44,7 +44,19 @@ # Upload all docs for i in $repos_api; do - if ! [ -d "$i"/doc ]; then + # Some repos ship their API docs in a subdirectory, under a different name + case "$i" in + osmo-trx) + doc_dir="$i/libosmo-trx/doc" + dest="$i/libosmo-trx" + ;; + *) + doc_dir="$i/doc" + dest="$i" + ;; + esac + + if ! [ -d "$doc_dir" ]; then # e.g. libosmo-abis is built as dependency for others but doesn't # have its own doxygen documentation as of writing continue @@ -54,6 +66,6 @@ -avz \ --delete \ -e "$SSH_CMD" \ - ./"$i"/doc/ \ - api@ftp.osmocom.org:web-files/latest/"$i"/ + ./"$doc_dir"/ \ + api@ftp.osmocom.org:web-files/latest/"$dest"/ done -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/43785?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: merged Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ia5add0cdcb2fd24f113c7050cb7efb579b50d8e5 Gerrit-Change-Number: 43785 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: osmith <osmith(a)sysmocom.de> Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
1 0
0 0
[M] Change in libosmo-sigtran[master]: as_vty: Support configuring OPC+mask and improve input validation
by pespin 08 Oct '26

08 Oct '26
Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/43813?usp=email to look at the new patch set (#3). The following approvals got outdated and were removed: Verified+1 by Jenkins Builder Change subject: as_vty: Support configuring OPC+mask and improve input validation ...................................................................... as_vty: Support configuring OPC+mask and improve input validation This commit still doesn't use OPC, only allows setting it. This is fine since it's actually the same with SI and SSN. Further future work will use all those fields when matching an AS on incoming messages. Related: OS#7070 Change-Id: Icd9e43736ea9240060244cebcacba1f8119043a5 --- M include/osmocom/sigtran/osmo_ss7.h M src/ss7_as.c M src/ss7_as_vty.c M src/xua_rkm.c M tests/vty/osmo_stp_test.vty M tests/vty/ss7_asp_test.vty 6 files changed, 167 insertions(+), 33 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sigtran refs/changes/13/43813/3 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/43813?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: newpatchset Gerrit-Project: libosmo-sigtran Gerrit-Branch: master Gerrit-Change-Id: Icd9e43736ea9240060244cebcacba1f8119043a5 Gerrit-Change-Number: 43813 Gerrit-PatchSet: 3 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder
1 0
0 0
[M] Change in libosmo-sigtran[master]: xua_rkm: Add function helpers to set routes for AS route-key
by pespin 08 Oct '26

08 Oct '26
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/43830?usp=email ) Change subject: xua_rkm: Add function helpers to set routes for AS route-key ...................................................................... xua_rkm: Add function helpers to set routes for AS route-key Those will be used in follow-up commit introducing automatic AS route-key full qualified routes for statically configured AS. Related: OS#7070 Change-Id: I1dd83ae2b0d23c92304476692ef6bd9c2417e454 --- M src/ss7_as.c M src/ss7_as.h M src/xua_rkm.c M tests/vty/osmo_stp_route_prio.vty 4 files changed, 80 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sigtran refs/changes/30/43830/1 diff --git a/src/ss7_as.c b/src/ss7_as.c index 7ad105a..cae0d6d 100644 --- a/src/ss7_as.c +++ b/src/ss7_as.c @@ -741,3 +741,58 @@ return false; } + +/* Add a fully qualified route in routing table based on configured AS routing-key: */ +struct osmo_ss7_route *ss7_as_routing_key_create_route(struct osmo_ss7_as *as) +{ + struct osmo_ss7_route *rt; + int rc; + + rt = ss7_route_alloc(as->inst->rtable_system, + as->cfg.routing_key.pc, + 0xFFFFFF, + true); + if (!rt) + goto ret_free; + if (ss7_route_set_linkset(rt, as->cfg.name) < 0) + goto ret_free; + + rt->cfg.match_as_routing_key = true; + + rc = ss7_route_insert(rt); + if (rc == -EADDRINUSE) { + talloc_free(rt); + return ss7_route_table_find_route_by_dpc_mask(as->inst->rtable_system, + as->cfg.routing_key.pc, + 0xFFFFFF, + true); + } + + return rt; + +ret_free: + talloc_free(rt); + return NULL; +} + +/* Remove fully qualified route in routing table based on configured AS routing-key: */ +int ss7_as_routing_key_delete_route(struct osmo_ss7_as *as) +{ + struct osmo_ss7_route *rt; + rt = ss7_route_table_find_route_by_dpc_mask(as->inst->rtable_system, + as->cfg.routing_key.pc, 0xffffff, + true); + if (!rt) + return -ENOENT; + + if (!rt->cfg.match_as_routing_key) { + LOGPAS(as, DLSS7, LOGL_NOTICE, + "Skip removing route %s without match-routing-key field!\n", + osmo_ss7_route_name(rt, false)); + return 0; + } + + /* Release the associated route */ + ss7_route_destroy(rt); + return 0; +} diff --git a/src/ss7_as.h b/src/ss7_as.h index 3d36102..329350b 100644 --- a/src/ss7_as.h +++ b/src/ss7_as.h @@ -200,6 +200,9 @@ const struct osmo_ss7_asp *excl_asp); void ss7_as_loadshare_binding_table_reset(struct osmo_ss7_as *as); +struct osmo_ss7_route *ss7_as_routing_key_create_route(struct osmo_ss7_as *as); +int ss7_as_routing_key_delete_route(struct osmo_ss7_as *as); + void ss7_as_del_asp_update_llist_round_robin(struct osmo_ss7_as *as, struct osmo_ss7_asp *asp, struct ss7_as_asp_assoc **state); #define ss7_as_asp_assoc_llist_round_robin(as, state) \ ss7_llist_round_robin(&(as)->assoc_asp_list, (void **)state, struct ss7_as_asp_assoc, as_entry) diff --git a/src/xua_rkm.c b/src/xua_rkm.c index 61f9dc6..72581a6 100644 --- a/src/xua_rkm.c +++ b/src/xua_rkm.c @@ -330,7 +330,7 @@ as->cfg.routing_key.ssn = OSSMO_SS7_RKEY_SSN_UNSET; /* add dynamic route for that routing key */ - rt = ss7_route_create(as->inst->rtable_system, dpc, 0xFFFFFF, true, namebuf); + rt = ss7_as_routing_key_create_route(as); if (!rt) { LOGPASP(asp, DLSS7, LOGL_ERROR, "RKM: Cannot insert route for DPC %s / as %s\n", osmo_ss7_pointcode_print(asp->inst, dpc), namebuf); @@ -431,7 +431,6 @@ { struct osmo_ss7_instance *inst = asp->inst; struct osmo_ss7_as *as; - struct osmo_ss7_route *rt; as = ss7_asp_find_as_by_rctx(asp, rctx); if (!as) { @@ -451,19 +450,13 @@ return -1; } - rt = ss7_route_table_find_route_by_dpc_mask(inst->rtable_system, - as->cfg.routing_key.pc, 0xffffff, - true); - if (!rt) { - msgb_append_dereg_res(resp, M3UA_RKM_DEREG_ERR_UNKNOWN, 0); - return -1; - } - LOGPASP(asp, DLSS7, LOGL_INFO, "RKM: De-Registering rctx %u for DPC %s\n", rctx, osmo_ss7_pointcode_print(inst, as->cfg.routing_key.pc)); - /* Release the associated route */ - ss7_route_destroy(rt); + if (ss7_as_routing_key_delete_route(as) < 0) { + msgb_append_dereg_res(resp, M3UA_RKM_DEREG_ERR_UNKNOWN, 0); + return -1; + } /* Dissassociate the ASP from the dynamically allocated AS. * The AS may be freed if it is serving no more ASPs. */ ss7_as_del_asp(as, asp); diff --git a/tests/vty/osmo_stp_route_prio.vty b/tests/vty/osmo_stp_route_prio.vty index 54c9475..2422043 100644 --- a/tests/vty/osmo_stp_route_prio.vty +++ b/tests/vty/osmo_stp_route_prio.vty @@ -94,9 +94,12 @@ Destination C Q P Linkset Name Linkset Non-adj Route ---------------------- - - - ------------------- ------- ------- ------- -3.2.1/14 INACC 0 2 as3 UNAVAIL allowed UNAVAIL -3.2.1/14 INACC 0 5 as2 UNAVAIL allowed UNAVAIL -3.2.1/14 INACC 7 6 as1 UNAVAIL allowed UNAVAIL +3.2.1/14 INACC 0 2 as3 UNAVAIL allowed UNAVAIL +0.1.2/14 INACC 0 5 as1 UNAVAIL allowed UNAVAIL dyn match-routing-key +0.1.3/14 INACC 0 5 as2 UNAVAIL allowed UNAVAIL dyn match-routing-key +0.1.4/14 INACC 0 5 as3 UNAVAIL allowed UNAVAIL dyn match-routing-key +3.2.1/14 INACC 0 5 as2 UNAVAIL allowed UNAVAIL +3.2.1/14 INACC 7 6 as1 UNAVAIL allowed UNAVAIL OsmoSTP(config-cs7-rt)# ! NOW ADD MORE GENERIC ROUTES (SMALLER BITMASK LENGTH) OsmoSTP(config-cs7-rt)# update route 3.2.0 7.255.0 linkset as3 priority 3 @@ -124,14 +127,17 @@ Destination C Q P Linkset Name Linkset Non-adj Route ---------------------- - - - ------------------- ------- ------- ------- -3.2.1/14 INACC 0 2 as3 UNAVAIL allowed UNAVAIL -3.2.1/14 INACC 0 5 as2 UNAVAIL allowed UNAVAIL -3.2.1/14 INACC 7 6 as1 UNAVAIL allowed UNAVAIL -3.2.0/11 INACC 0 1 as1 UNAVAIL allowed UNAVAIL - 0 1 as2 UNAVAIL allowed UNAVAIL - 0 1 as3 UNAVAIL allowed UNAVAIL -3.2.0/11 INACC 0 2 as3 UNAVAIL allowed UNAVAIL -3.2.0/11 INACC 0 3 as3 UNAVAIL allowed UNAVAIL +3.2.1/14 INACC 0 2 as3 UNAVAIL allowed UNAVAIL +0.1.2/14 INACC 0 5 as1 UNAVAIL allowed UNAVAIL dyn match-routing-key +0.1.3/14 INACC 0 5 as2 UNAVAIL allowed UNAVAIL dyn match-routing-key +0.1.4/14 INACC 0 5 as3 UNAVAIL allowed UNAVAIL dyn match-routing-key +3.2.1/14 INACC 0 5 as2 UNAVAIL allowed UNAVAIL +3.2.1/14 INACC 7 6 as1 UNAVAIL allowed UNAVAIL +3.2.0/11 INACC 0 1 as1 UNAVAIL allowed UNAVAIL + 0 1 as2 UNAVAIL allowed UNAVAIL + 0 1 as3 UNAVAIL allowed UNAVAIL +3.2.0/11 INACC 0 2 as3 UNAVAIL allowed UNAVAIL +3.2.0/11 INACC 0 3 as3 UNAVAIL allowed UNAVAIL OsmoSTP(config-cs7-rt)# do show cs7 instance 0 route binding-table 3.2.1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/43830?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: I1dd83ae2b0d23c92304476692ef6bd9c2417e454 Gerrit-Change-Number: 43830 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de>
1 0
0 0
[M] Change in libosmo-sigtran[master]: Create dynamic routes for AS statically configured routing-key
by pespin 08 Oct '26

08 Oct '26
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/43831?usp=email ) Change subject: Create dynamic routes for AS statically configured routing-key ...................................................................... Create dynamic routes for AS statically configured routing-key We already do so for routing-keys registered through RKM. Let's do it too for statically configured ones. This makes it easier to configure default routing on an STP, since there's no need to set up "update route" for the most usual cases. If specific routing is required (eg. combined linkset loadsharing use over multiple AS on a given PC), it can still be configured manually using a higher prio in the routing table. The newly created dynamic routes contain the "match_as_routing_key" setting, which means they are only usable to route a given message if its routing label matches the routing-key of the AS. This opens the door to improved traffic forwarding security as well as more fine-grained traffic routing selection based on eg. OPC. So far only matching on DPC and optionaly on OPC is supported. Matching on SI and SSN is left as TODO work for the future. Related: OS#7070 Change-Id: Ie74f4b502d4e5beacbf1ac5cd772b8735ea853ed --- M src/ss7_as_vty.c M src/ss7_combined_linkset.c M src/ss7_route.c M src/ss7_route.h M src/ss7_vty.c 5 files changed, 50 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sigtran refs/changes/31/43831/1 diff --git a/src/ss7_as_vty.c b/src/ss7_as_vty.c index 7d5eea0..b10abe6 100644 --- a/src/ss7_as_vty.c +++ b/src/ss7_as_vty.c @@ -436,6 +436,9 @@ ssn = OSSMO_SS7_RKEY_SSN_UNSET; } + /* Drop previous route if exists: */ + ss7_as_routing_key_delete_route(as); + rkey->context = rctx; /* truncate mask to maximum. Let's avoid callers specifying arbitrary large * masks to ensure we don't fail duplicate detection with longer mask lengths */ @@ -444,6 +447,13 @@ rkey->opc_mask = osmo_ss7_pc_normalize(&as->inst->cfg.pc_fmt, opc_mask); rkey->si = si; rkey->ssn = ssn; + + /* Add fully qualified route for routing-key: */ + if (ss7_as_routing_key_create_route(as) < 0) { + vty_out(vty, "Failed adding dynamic match-routing-key route for AS %s!%s", + as->cfg.name, VTY_NEWLINE); + return CMD_WARNING; + } return CMD_SUCCESS; } diff --git a/src/ss7_combined_linkset.c b/src/ss7_combined_linkset.c index 9f53b7b..59c7007 100644 --- a/src/ss7_combined_linkset.c +++ b/src/ss7_combined_linkset.c @@ -193,11 +193,12 @@ } /* ITU Q.704 4.2.1: "current link set (combined link set)". Pick available already selected route */ -struct osmo_ss7_route *current_rt(const struct osmo_ss7_esls_entry *eslse) +struct osmo_ss7_route *current_rt(const struct osmo_ss7_esls_entry *eslse, + const struct osmo_ss7_route_label *rtlabel) { - if (eslse->normal_rt && ss7_route_is_available(eslse->normal_rt)) + if (eslse->normal_rt && ss7_route_is_available_for_rtlabel(eslse->normal_rt, rtlabel)) return eslse->normal_rt; - if (eslse->alt_rt && ss7_route_is_available(eslse->alt_rt)) + if (eslse->alt_rt && ss7_route_is_available_for_rtlabel(eslse->alt_rt, rtlabel)) return eslse->alt_rt; return NULL; } @@ -223,13 +224,14 @@ } /* Pick an available route from Combined Linkset in a round-robin fashion, to send a message through. */ -static struct osmo_ss7_route *ss7_combined_linkset_select_route_roundrobin(struct osmo_ss7_combined_linkset *clset) +static struct osmo_ss7_route *ss7_combined_linkset_select_route_roundrobin(struct osmo_ss7_combined_linkset *clset, + const struct osmo_ss7_route_label *rtlabel) { struct osmo_ss7_route *rt; for (unsigned int i = 0; i < clset->num_routes; i++) { rt = ss7_llist_round_robin(&clset->routes, &clset->last_route_roundrobin_tx, struct osmo_ss7_route, list); - if (rt && ss7_route_is_available(rt)) + if (rt && ss7_route_is_available_for_rtlabel(rt, rtlabel)) return rt; } return NULL; @@ -245,7 +247,7 @@ char buf[256]; /* First check if we have a cached route for this ESLS */ - rt = current_rt(eslse); + rt = current_rt(eslse, rtlabel); if (rt) { if (rt == eslse->normal_rt) { /* We can transmit over normal route. @@ -279,7 +281,7 @@ if (!rt) return NULL; eslse->normal_rt = rt; - rt_avail = ss7_route_is_available(eslse->normal_rt); + rt_avail = ss7_route_is_available_for_rtlabel(eslse->normal_rt, rtlabel); LOGPCLSET(clset, DLSS7, LOGL_INFO, "RT loookup: %s -> eSLS=%u: " "picked Normal Route via '%s' round-robin style (%s)\n", ss7_route_label_to_str(buf, sizeof(buf), inst, rtlabel), esls, @@ -295,7 +297,7 @@ /* Normal route unavailable and no alternative route (or unavailable too). * start ITU Q.704 section 7 "forced rerouting" procedure: */ - rt = ss7_combined_linkset_select_route_roundrobin(clset); + rt = ss7_combined_linkset_select_route_roundrobin(clset, rtlabel); if (rt) { eslse->alt_rt = rt; LOGPCLSET(clset, DLSS7, LOGL_NOTICE, "RT Lookup: %s -> eSLS=%u: " diff --git a/src/ss7_route.c b/src/ss7_route.c index ce60bc1..347af51 100644 --- a/src/ss7_route.c +++ b/src/ss7_route.c @@ -147,6 +147,7 @@ rt->cfg.pc = osmo_ss7_pc_normalize(&rtbl->inst->cfg.pc_fmt, pc); rt->cfg.priority = OSMO_SS7_ROUTE_PRIO_DEFAULT; rt->cfg.dyn_allocated = dynamic; + rt->cfg.match_as_routing_key = false; osmo_timer_setup(&rt->t10_audit_timer, t10_audit_timer_cb, rt); @@ -228,7 +229,8 @@ struct osmo_ss7_route *prev_rt; llist_for_each_entry(prev_rt, &clset->routes, list) { if (strcmp(prev_rt->cfg.linkset_name, rt->cfg.linkset_name) == 0 && - prev_rt->cfg.dyn_allocated == rt->cfg.dyn_allocated) { + prev_rt->cfg.dyn_allocated == rt->cfg.dyn_allocated && + prev_rt->cfg.match_as_routing_key == rt->cfg.match_as_routing_key) { LOGPRT(rt, DLSS7, LOGL_ERROR, "Refusing to create route with existing linkset/AS name '%s'\n", rt->cfg.linkset_name); return -EADDRINUSE; @@ -384,6 +386,8 @@ if (rt->dest.as) { struct osmo_ss7_as *as = rt->dest.as; + if (rt->cfg.match_as_routing_key) + APPEND(" match-routing-key"); APPEND(" via AS %s proto=%s", as->cfg.name, osmo_ss7_asp_protocol_name(as->cfg.proto)); if (list_asps) { @@ -454,6 +458,25 @@ return false; } +bool ss7_route_is_available_for_rtlabel(const struct osmo_ss7_route *rt, + const struct osmo_ss7_route_label *rtlabel) +{ + if (!ss7_route_dest_is_available(rt)) + return false; + if (rt->cfg.match_as_routing_key) { + struct osmo_ss7_as *as = rt->dest.as; + OSMO_ASSERT(as); + struct osmo_ss7_routing_key *rkey = &as->cfg.routing_key; + if (rtlabel->dpc != rkey->pc) + return false; + if ((rtlabel->opc & rkey->opc_mask) != rkey->opc) + return false; + /* TODO: match rkey->si */ + /* TODO: match rkey->ssn */ + } + return true; +} + /* Whether route mask identifies a single DPC. */ bool ss7_route_is_fully_qualified(const struct osmo_ss7_route *rt) { diff --git a/src/ss7_route.h b/src/ss7_route.h index 437a5d8..fa6bdc9 100644 --- a/src/ss7_route.h +++ b/src/ss7_route.h @@ -10,6 +10,7 @@ struct osmo_ss7_instance; struct osmo_ss7_route_table; +struct osmo_ss7_route_label; struct osmo_ss7_linkset; struct osmo_ss7_as; @@ -54,6 +55,7 @@ uint32_t priority; uint8_t qos_class; bool dyn_allocated; + bool match_as_routing_key; } cfg; }; @@ -75,6 +77,8 @@ bool ss7_route_dest_is_available(const struct osmo_ss7_route *rt); bool ss7_route_is_available(const struct osmo_ss7_route *rt); +bool ss7_route_is_available_for_rtlabel(const struct osmo_ss7_route *rt, + const struct osmo_ss7_route_label *rtlabel); bool ss7_route_is_fully_qualified(const struct osmo_ss7_route *rt); static inline bool ss7_route_is_summary(const struct osmo_ss7_route *rt) diff --git a/src/ss7_vty.c b/src/ss7_vty.c index eec4a80..a91d909 100644 --- a/src/ss7_vty.c +++ b/src/ss7_vty.c @@ -609,7 +609,7 @@ default: OSMO_ASSERT(0); } - vty_out(vty, "%-16s %-5s %c %c %u %-19s %-7s %-7s %-7s %-3s%s", + vty_out(vty, "%-16s %-5s %c %c %u %-19s %-7s %-7s %-7s %-3s %-17s%s", rt_str, clsetavail_str, ' ', @@ -620,6 +620,7 @@ nonadj_str, rtavail_str, rt->cfg.dyn_allocated ? "dyn" : "", + rt->cfg.match_as_routing_key ? "match-routing-key" : "", VTY_NEWLINE); } } -- To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/43831?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: Ie74f4b502d4e5beacbf1ac5cd772b8735ea853ed Gerrit-Change-Number: 43831 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin(a)sysmocom.de>
1 0
0 0
[S] Change in osmocom-bb[master]: trxcon/trx_if: negotiate TRXD PDU version 1 (TRXDv1)
by osmith 08 Oct '26

08 Oct '26
Attention is currently required from: fixeria. osmith has posted comments on this change by fixeria. ( https://gerrit.osmocom.org/c/osmocom-bb/+/43829?usp=email ) Change subject: trxcon/trx_if: negotiate TRXD PDU version 1 (TRXDv1) ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/43829?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I08d588f74925bb7a85e131defc0fa82158d90680 Gerrit-Change-Number: 43829 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith <osmith(a)sysmocom.de> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Comment-Date: Thu, 08 Oct 2026 15:18:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes
1 0
0 0
[L] Change in osmocom-bb[master]: trxcon/trx_if: migrate to libosmo-trx
by osmith 08 Oct '26

08 Oct '26
Attention is currently required from: fixeria. osmith has posted comments on this change by fixeria. ( https://gerrit.osmocom.org/c/osmocom-bb/+/43828?usp=email ) Change subject: trxcon/trx_if: migrate to libosmo-trx ...................................................................... Patch Set 1: Code-Review+1 (1 comment) Commit Message: https://gerrit.osmocom.org/c/osmocom-bb/+/43828/comment/ea62c69a_4a7f9c53?u… : PS1, Line 17: flag (default auto), so that building the rest of osmocom-bb doesn't I can't find it right now, but I think the auto configure options were discussed some year back on the mailing list and the conclusion was that this is bad practice as it makes the build less deterministic. This will enable the feature for some people who happen to have libosmo-trx-dev installed, and not for others, who may then see a strange error somewhere down the road when things don't work. Therefore I suggest making "no" (or "yes" if you think it makes more sense) the default. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/43828?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I4604f4b12ca903e936dedf167b478455bd28a2e8 Gerrit-Change-Number: 43828 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith <osmith(a)sysmocom.de> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Comment-Date: Thu, 08 Oct 2026 15:17:40 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes
1 0
0 0
[M] Change in osmocom-bb[master]: trxcon/trx_if: make struct trx_instance opaque
by osmith 08 Oct '26

08 Oct '26
Attention is currently required from: fixeria. osmith has posted comments on this change by fixeria. ( https://gerrit.osmocom.org/c/osmocom-bb/+/43827?usp=email ) Change subject: trxcon/trx_if: make struct trx_instance opaque ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/43827?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Idb6ca85dda0ffdc7f3e4cc0f368d74e9c9cab8ed Gerrit-Change-Number: 43827 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith <osmith(a)sysmocom.de> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Comment-Date: Thu, 08 Oct 2026 14:57:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes
1 0
0 0
[S] Change in osmocom-bb[master]: trxcon/trx_if: fix stale doc comments on POWERON/RXTUNE/TXTUNE
by osmith 08 Oct '26

08 Oct '26
Attention is currently required from: fixeria. osmith has posted comments on this change by fixeria. ( https://gerrit.osmocom.org/c/osmocom-bb/+/43826?usp=email ) Change subject: trxcon/trx_if: fix stale doc comments on POWERON/RXTUNE/TXTUNE ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/43826?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I9408ea573598459d47af957577dece883606caa8 Gerrit-Change-Number: 43826 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith <osmith(a)sysmocom.de> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Comment-Date: Thu, 08 Oct 2026 14:57:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • ...
  • 121
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.