Skip to content

Loading builds...

Changes

#928 (Mar 2, 2026, 3:14:49 PM)

Use new libosmo-asn1-tcap API osmo_asn1_tcap_TCMessage_decode()

This allows passing a talloc context used to allocate memory when
decoding the message.

Related: SYS#5423
Related: OS#6965
Change-Id: Iebeb2808c54c5b82026a1b31d985aa73f602b42a
Pau Espin Pedrol at

#927 (Feb 27, 2026, 2:55:07 PM)

Use new libosmo-asn1-tcap API osmo_asn1_tcap_TCMessage_decode()

This allows passing a talloc context used to allocate memory when
decoding the message.

Related: SYS#5423
Related: OS#6965
Change-Id: Iebeb2808c54c5b82026a1b31d985aa73f602b42a
Pau Espin Pedrol at

#926 (Feb 26, 2026, 3:44:14 PM)

tcap: Use osmo_asn1_tcap_set_talloc_ctx() to set app talloc ctx

Change-Id: I9c1abc040fdeb58cb97e9b99a2382f336146bc40
Pau Espin Pedrol at

#925 (Feb 26, 2026, 12:06:37 PM)

tcap: Support TID with length 1..4

As described in ITU Q.773 4.2.1.3:
"The length of a Transaction ID is 1 to 4 octets."

asn.1 files also describe TIDs the following way:
OrigTransactionID ::= [APPLICATION 8] IMPLICIT OCTET STRING (SIZE (1..4) )
DestTransactionID ::=[APPLICATION 9] IMPLICIT OCTET STRING (SIZE (1..4) )

Take the chance to avoid asserting based on received external input msg.

Related: SYS#5423
Change-Id: I2748d85624e4be708f7554ee3e60a5bda9162845
Pau Espin Pedrol at

#924 (Feb 26, 2026, 12:06:36 PM)

tcap: Fix wrong address type printed in log line

Change-Id: I28b0d488159d9fa88e69e8c8b2e53a97b461763a
Pau Espin Pedrol at

#923 (Feb 26, 2026, 12:06:36 PM)

stp: Enable tracking of NULL memory context

Similar to what's done in most of the OsmoCNI programs.
This allows dumpinng the NULL context using VTY command
'show talloc-context all'.

Change-Id: I4a925967e5bb61c346cf6c4dd2c89b6aaea44b94
Pau Espin Pedrol at

#922 (Feb 26, 2026, 11:58:07 AM)

tcap: Support TID with length 1..4

As described in ITU Q.773 4.2.1.3:
"The length of a Transaction ID is 1 to 4 octets."

asn.1 files also describe TIDs the following way:
OrigTransactionID ::= [APPLICATION 8] IMPLICIT OCTET STRING (SIZE (1..4) )
DestTransactionID ::=[APPLICATION 9] IMPLICIT OCTET STRING (SIZE (1..4) )

Take the chance to avoid asserting based on received external input msg.

Related: SYS#5423
Change-Id: I2748d85624e4be708f7554ee3e60a5bda9162845
Pau Espin Pedrol at

#921 (Feb 26, 2026, 11:58:05 AM)

tcap: Lower log level failing to parse msg

invalid rx packets should be logged as NOTICED, not as ERROR.

Change-Id: Idef5736ee2481260f958eece2f5a3bfc009b3d69
Pau Espin Pedrol at

#920 (Feb 26, 2026, 11:58:05 AM)

stp: Enable tracking of NULL memory context

Similar to what's done in most of the OsmoCNI programs.
This allows dumpinng the NULL context using VTY command
'show talloc-context all'.

Change-Id: I4a925967e5bb61c346cf6c4dd2c89b6aaea44b94
Pau Espin Pedrol at

#919 (Feb 26, 2026, 11:58:04 AM)

tcap: Fix wrong address type printed in log line

Change-Id: I28b0d488159d9fa88e69e8c8b2e53a97b461763a
Pau Espin Pedrol at

#918 (Feb 26, 2026, 11:58:04 AM)

tcap: Fix return code in tcap_as_rx_sccp_asp()

That code path is not an error, simply the message is not TCAP.

Take the chance to clarify the behavior of the function.

Change-Id: I54c4a1bbaa8e107cf433cc898658a672c2b53c3c
Pau Espin Pedrol at

#917 (Feb 26, 2026, 11:15:34 AM)

stp: Enable tracking of NULL memory context

Similar to what's done in most of the OsmoCNI programs.
This allows dumpinng the NULL context using VTY command
'show talloc-context all'.

Change-Id: I4a925967e5bb61c346cf6c4dd2c89b6aaea44b94
Pau Espin Pedrol at

#916 (Feb 26, 2026, 10:32:34 AM)

tcap: Support TID with length 1..4

As described in ITU Q.773 4.2.1.3:
"The length of a Transaction ID is 1 to 4 octets."

asn.1 files also describe TIDs the following way:
OrigTransactionID ::= [APPLICATION 8] IMPLICIT OCTET STRING (SIZE (1..4) )
DestTransactionID ::=[APPLICATION 9] IMPLICIT OCTET STRING (SIZE (1..4) )

Related: SYS#5423
Change-Id: I2748d85624e4be708f7554ee3e60a5bda9162845
Pau Espin Pedrol at

#915 (Feb 26, 2026, 10:32:34 AM)

tcap: Lower log level failing to parse msg

invalid rx packets should be logged as NOTICED, not as ERROR.

Change-Id: Idef5736ee2481260f958eece2f5a3bfc009b3d69
Pau Espin Pedrol at

#914 (Feb 26, 2026, 10:26:21 AM)

tcap: Support TID with length 1..4

As described in ITU Q.773 4.2.1.3:
"The length of a Transaction ID is 1 to 4 octets."

asn.1 files also describe TIDs the following way:
OrigTransactionID ::= [APPLICATION 8] IMPLICIT OCTET STRING (SIZE (1..4) )
DestTransactionID ::=[APPLICATION 9] IMPLICIT OCTET STRING (SIZE (1..4) )

Related: SYS#5423
Change-Id: I2748d85624e4be708f7554ee3e60a5bda9162845
Pau Espin Pedrol at

#913 (Feb 26, 2026, 10:26:21 AM)

tcap: Fix return code in tcap_as_rx_sccp_asp()

That code path is not an error, simply the message is not TCAP.

Change-Id: I54c4a1bbaa8e107cf433cc898658a672c2b53c3c
Pau Espin Pedrol at

#912 (Feb 26, 2026, 10:26:21 AM)

tcap: Lower log level failing to parse msg

invalid rx packets should be logged as NOTICED, not as ERROR.

Change-Id: Idef5736ee2481260f958eece2f5a3bfc009b3d69
Pau Espin Pedrol at

#911 (Feb 25, 2026, 5:58:17 PM)

tcap: Avoid updating trans_track if AS doesn't have tcap-routing enabled

Change-Id: I0106df80f6c186b184bada8f06d38d0d54cce735
Pau Espin Pedrol at

#910 (Feb 20, 2026, 9:58:48 AM)

tcap: vty: Fix writing tcap-routing command

Change-Id: I36d23c0e330c224b69094fb861520c4a4a32b3d8
Pau Espin Pedrol at

#909 (Feb 16, 2026, 10:53:56 AM)

xua_asp_fsm: Validate remote ASP Id matching config in SG role

The node in SG role really doesn't have an ASP Id of its own (it is
never sent over the wire). Hence, use the "asp-identifier <N>" VTY
config in SG role to require the ASP to identify itself with a given
ASP identifier.

Related: OS#6953
Change-Id: I3e22439aa7e22f7a6113b093c44ace6745c808b9
Pau Espin Pedrol at

#908 (Feb 16, 2026, 10:36:39 AM)

xua_asp_fsm: Validate remote ASP Id matching config in SG role

The node in SG role really doesn't have an ASP Id of its own (it is
never sent over the wire). Hence, use the "asp-identifier <N>" VTY
config in SG role to require the ASP to identify itself with a given
ASP identifier.

Related: OS#6953
Change-Id: I3e22439aa7e22f7a6113b093c44ace6745c808b9
Pau Espin Pedrol at

#907 (Feb 16, 2026, 10:36:39 AM)

xua_asp_fsm: Error on ASP UP (ACK) with non-unique ASP Identifier

Following RFC4666:
"""
   The "Invalid ASP Identifier" error is sent by an SGP in response to
   an ASP Up message with an invalid (i.e., non-unique) ASP Identifier
"""

Change-Id: I2d422acaa2f04c7d1eebd92c3185c4f5476a1789
Pau Espin Pedrol at

#906 (Feb 16, 2026, 10:36:38 AM)

xua_default_lm_fsm: Submit RKM REG REQ for all AS in ASP

So far only the first rctx (AS) was being registered.
This fixes RKM for ASPs serving multiple AS in ASP/IPSP role.

Relted: OS#6943
Change-Id: I932c1b05dfd37fd7b89adea0d1ea59a5dc6138b4
Pau Espin Pedrol at

#905 (Feb 16, 2026, 10:36:38 AM)

Allow configuring local ASP Identifier

If configured, it will be transmitted during ASP UP and ASP UP ACK.
This may be needed if facing an SG/IPSP peer who requires ASP Identifier
to be set.

Related: OS#6953
Change-Id: Ib94d542f940e13d5c007bc3319e7dde65cf81f12
Pau Espin Pedrol at

#904 (Feb 16, 2026, 10:36:38 AM)

cosmetic: xua_as_fsm: Fix mixed brace/no-brace blocks in if/else

Change-Id: Ibfd818d354c09409b04b392853f544a220de3a72
Pau Espin Pedrol at

#903 (Feb 16, 2026, 10:36:38 AM)

tests/vty: Introduce testTonsOfASP

Add test to validate tons of ASPs (1000) can be configured, all serving
one given AS.

Related: SYS#7519
Change-Id: I9bfcfcbea3c4cec0e6284ae59d30670fcf3ccac4
Pau Espin Pedrol at

#902 (Feb 16, 2026, 10:36:38 AM)

Introduce struct osmo_ss7_as_asp_assoc

This new struct allows supporting unlimited number of ASPs per AS.
It can also potentially be used in the future to:
* Hold M3UA "ASP Identifier" per AS<->ASP association
* Speed up iterating over AS served by a given ASP.

NOTE: Having >16 ASPs per AS may not be desirable, for instance under
loadshare traffic mode ITU SLS is 4 bit, so despite having ext_sls
extending the table to 128 entries based on OPC, it may not provide
enough entropy to properly loadshare among all of them.

Related: OS#7519
Change-Id: I149ab467899633ac50cba3e482b2cae02124279d
Pau Espin Pedrol at

#901 (Feb 16, 2026, 10:36:38 AM)

tests/vty: Introduce testASPservesTonsOfAS

Change-Id: I39016a479fde7d61b7c0f39ca769cd8c958b55b6
Pau Espin Pedrol at

#900 (Feb 16, 2026, 10:36:37 AM)

asp: Introduce asp->assoc_as_list

This way we can iterate easily/quickly the AS served by a given ASP.
This in turn allows simplifying some code since we cache the amount of
AS served by the ASP at any time, so we save some counting.

Related: SYS#6953
Change-Id: I1ca90748286374109dbb4277cbc7b2337ce2072a
Pau Espin Pedrol at

#899 (Feb 16, 2026, 10:36:37 AM)

ss7_as: Optimize ASP Tx selection in Override traffic mode

Cache the last selected ASP, and expect it to still be the active ASP
most of the time until it changes.

Change-Id: I3d480d23591f4bd216293be60b22389b182fd8f3
Pau Espin Pedrol at

#898 (Feb 16, 2026, 10:36:35 AM)

ss7_as: Optimize ss7_as_asp_assoc_find()

Look for counterpart on the object with the shortest list, ie. convert
from O(N) to O(min(N,M)).
This way eg. if we have 100 ASPs on 1 AS, lookup time becomes O(1).
Same if we have eg. 1 ASP serving 100 AS.

Change-Id: I139aede15af6b6a77d19e6fcf6b6abe8ed6599a6
Pau Espin Pedrol at

#897 (Feb 16, 2026, 10:36:35 AM)

xua_asp_fsm: Remove obvious comments

Those can already be interpretred directly by the ENSURE_* macros.
No need to clog the file with more lines describing stuff.

Change-Id: Idec06646c48fbce4cbe200e88f987dfb3e9d5a39
Pau Espin Pedrol at

#896 (Feb 16, 2026, 10:36:34 AM)

xua_as_fsm: Remove TODO no longer valid

Routing Context is filled in in fill_notify_route_ctx().

Take the chance to move the logging a bit up in the function, to have
all npar filling together.

Change-Id: I57af18dacc0470d36ddd4705a9530bd44b31f9c0
Pau Espin Pedrol at

#895 (Feb 16, 2026, 10:35:18 AM)

m3ua: Fix missing break in m3a_rx_snm for IPSP

Fixes: e597f08dde51361434a027dc4362a5698220afb6
Change-Id: I387794b0a736ee8419e7d12dc0f586aa30b9ac26
Pau Espin Pedrol at

#894 (Feb 13, 2026, 8:51:53 AM)

xua_asp_fsm: Remove obvious comments

Those can already be interpretred directly by the ENSURE_* macros.
No need to clog the file with more lines describing stuff.

Change-Id: Idec06646c48fbce4cbe200e88f987dfb3e9d5a39
Pau Espin Pedrol at

#893 (Feb 13, 2026, 8:51:53 AM)

xua_asp_fsm: Error on ASP UP (ACK) with non-unique ASP Identifier

Following RFC4666:
"""
   The "Invalid ASP Identifier" error is sent by an SGP in response to
   an ASP Up message with an invalid (i.e., non-unique) ASP Identifier
"""

Change-Id: I2d422acaa2f04c7d1eebd92c3185c4f5476a1789
Pau Espin Pedrol at

#892 (Feb 13, 2026, 8:51:50 AM)

cosmetic: xua_as_fsm: Fix mixed brace/no-brace blocks in if/else

Change-Id: Ibfd818d354c09409b04b392853f544a220de3a72
Pau Espin Pedrol at

#891 (Feb 13, 2026, 8:51:50 AM)

xua_asp_fsm: Validate remote ASP Id matching config in SG role

The node in SG role really doesn't have an ASP Id of its own (it is
never sent over the wire). Hence, use the "asp-identifier <N>" VTY
config in SG role to require the ASP to identify itself with a given
ASP identifier.

Related: OS#6953
Change-Id: I3e22439aa7e22f7a6113b093c44ace6745c808b9
Pau Espin Pedrol at

#890 (Feb 13, 2026, 8:51:50 AM)

Allow configuring local ASP Identifier

If configured, it will be transmitted during ASP UP and ASP UP ACK.
This may be needed if facing an SG/IPSP peer who requires ASP Identifier
to be set.

Related: OS#6953
Change-Id: Ib94d542f940e13d5c007bc3319e7dde65cf81f12
Pau Espin Pedrol at

#889 (Feb 12, 2026, 4:05:44 PM)

xua_asp_fsm: Validate remote ASP Id matching config in SG role

The node in SG role really doesn't have an ASP Id of its own (it is
never sent over the wire). Hence, use the "asp-identifier <N>" VTY
config in SG role to require the ASP to identift itself with a given
ASP identifier.

Related: OS#6953
Change-Id: I3e22439aa7e22f7a6113b093c44ace6745c808b9
Pau Espin Pedrol at

#888 (Feb 12, 2026, 3:24:00 PM)

cosmetic: xua_as_fsm: Fix mixed brace/no-brace blocks in if/else

Change-Id: Ibfd818d354c09409b04b392853f544a220de3a72
Pau Espin Pedrol at

#887 (Feb 12, 2026, 3:22:40 PM)

xua_asp_fsm: Error on ASP UP (ACK) with non-unique ASP Identifier

Following RFC4666:
"""
   The "Invalid ASP Identifier" error is sent by an SGP in response to
   an ASP Up message with an invalid (i.e., non-unique) ASP Identifier
"""

Change-Id: I2d422acaa2f04c7d1eebd92c3185c4f5476a1789
Pau Espin Pedrol at

#886 (Feb 12, 2026, 2:49:20 PM)

xua_asp_fsm: Remove obvious comments

Those can already be interpretred directly by the ENSURE_* macros.
No need to clog the file with more lines describing stuff.

Change-Id: Idec06646c48fbce4cbe200e88f987dfb3e9d5a39
Pau Espin Pedrol at

#885 (Feb 12, 2026, 1:25:30 PM)

Allow configuring local ASP Identifier

If configured, it will be transmitted during ASP UP and ASP UP ACK.
This may be needed if facing an SG/IPSP peer who requires ASP Identifier
to be set.

Related: OS#6953
Change-Id: Ib94d542f940e13d5c007bc3319e7dde65cf81f12
Pau Espin Pedrol at

#884 (Feb 12, 2026, 12:49:04 PM)

xua_as_fsm: Remove TODO no longer valid

Routing Context is filled in in fill_notify_route_ctx().

Take the chance to move the logging a bit up in the function, to have
all npar filling together.

Change-Id: I57af18dacc0470d36ddd4705a9530bd44b31f9c0
Pau Espin Pedrol at

#883 (Feb 12, 2026, 11:37:49 AM)

xua_default_lm_fsm: Submit RKM REG REQ for all AS in ASP

So far only thre first rctx (AS) was being registered.
This fixes RKM for ASPs serving multiple AS in ASP/IPSP role.

Relted: OS#6943
Change-Id: I932c1b05dfd37fd7b89adea0d1ea59a5dc6138b4
Pau Espin Pedrol at

#882 (Feb 12, 2026, 11:25:19 AM)

ss7_as: Optimize ss7_as_asp_assoc_find()

Look for counterpart on the object with the shortest list, ie. convert
from O(N) to O(min(N,M)).
This way eg. if we have 100 ASPs on 1 AS, lookup time becomes O(1).
Same if we have eg. 1 ASP serving 100 AS.

Change-Id: I139aede15af6b6a77d19e6fcf6b6abe8ed6599a6
Pau Espin Pedrol at

#881 (Feb 12, 2026, 11:25:19 AM)

asp: Introduce asp->assoc_as_list

This way we can iterate easily/quickly the AS served by a given ASP.
This in turn allows simplifying some code since we cache the amount of
AS served by the ASP at any time, so we save some counting.

Related: SYS#6953
Change-Id: I1ca90748286374109dbb4277cbc7b2337ce2072a
Pau Espin Pedrol at

#880 (Feb 12, 2026, 11:06:09 AM)

WIP: asp: Introduce asp->assoc_as_list

Related: SYS#6953
Change-Id: I1ca90748286374109dbb4277cbc7b2337ce2072a
Pau Espin Pedrol at

#879 (Feb 12, 2026, 11:06:09 AM)

ss7_as: Optimize ss7_as_asp_assoc_find()

Look for counterpart on the object with the shortest list, ie. convert
from O(N) to O(min(N,M)).
This way eg. if we have 100 ASPs on 1 AS, lookup time becomes O(1).
Same if we have eg. 1 ASP serving 100 AS.

Change-Id: I139aede15af6b6a77d19e6fcf6b6abe8ed6599a6
Pau Espin Pedrol at

#878 (Feb 12, 2026, 10:32:38 AM)

tests/vty: Introduce testTonsOfASP

Add test to validate tons of ASPs (1000) can be configured, all serving
one given AS.

Related: SYS#7519
Change-Id: I9bfcfcbea3c4cec0e6284ae59d30670fcf3ccac4
Pau Espin Pedrol at

#877 (Feb 12, 2026, 10:32:38 AM)

Introduce struct osmo_ss7_as_asp_assoc

This new struct allows supporting unlimited number of ASPs per AS.
It can also potentially be used in the future to:
* Hold M3UA "ASP Identifier" per AS<->ASP association
* Speed up iterating over AS served by a given ASP.

NOTE: Having >16 ASPs per AS may not be desirable, for instance under
loadshare traffic mode ITU SLS is 4 bit, so despite having ext_sls
extending the table to 128 entries based on OPC, it may not provide
enough entropy to properly loadshare among all of them.

Related: OS#7519
Change-Id: I149ab467899633ac50cba3e482b2cae02124279d
Pau Espin Pedrol at

#876 (Feb 12, 2026, 10:32:38 AM)

ss7_as: Optimize ASP Tx selection in Override traffic mode

Cache the last selected ASP, and expect it to still be the active ASP
most of the time until it changes.

Change-Id: I3d480d23591f4bd216293be60b22389b182fd8f3
Pau Espin Pedrol at

#875 (Feb 12, 2026, 10:32:38 AM)

tests/vty: Introduce testASPservesTonsOfAS

Change-Id: I39016a479fde7d61b7c0f39ca769cd8c958b55b6
Pau Espin Pedrol at