Attention is currently required from: daniel, fixeria, laforge, osmith.

pespin has posted comments on this change by pespin. ( 
https://gerrit.osmocom.org/c/libosmo-sigtran/+/42105?usp=email )

Change subject: Introduce struct osmo_ss7_as_asp_assoc
......................................................................


Patch Set 1:

(1 comment)

Patchset:

PS1:
> Sadly I'm not super excited about having a linear list iteration everywehre 
> where so far we simply h […]
We are usually talking about a handful of ASPs here, up to 16 if comparing to 
previous setups, so it's not like we are talking about iterating super long 
lists.

Talking about userplane traffic forwarding, we focus on selecting an ASP given 
an AS, depending on traffic mode:
* loadshare: not really affected in hot path, only when deciding to 
select/change a given normal/alternative destination in the binding table due 
to it changing status.
* roundrobin: ss7_as_select_asp_roundrobin() In general it will simply pick the 
next in the list, number of jumps depend on how many active we have. As 
mentioned this can be optimized later by having an extra "asp_active_list".
* override: ss7_as_select_asp_override(), this may be the only one which may 
want to traverse most of the llist in certain conditions. As mentioned this can 
be optimized later by having an extra "asp_active_list", or by moving an ASP 
fist in the llist when it is activated.
* broadcast: Not sure somebody really wants to use broadcast with a big amount 
of ASPs anyway...


Moreover, most of those loops are not really tight loops, since they are 
calling functions for each asp, etc.

BTW, fyi, we are already using llists in the previous step when
selecting an AS from the combined linkset, which always happens in
loadshare mode.
This is a first implementation to at least support more ASPs. We can always 
later on optimize the bottlenecks adding separate llists for eg. active ASPs, 
adding hashtables to look up for ASP in an AS, etc.

In any case, it doesn't make sense imho to try to accomplish all of that in the 
same first commit, the changes are big/complex enough as of current change. I 
still plan to submit more follow-up patches wrt this topic.



--
To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/42105?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings?usp=email

Gerrit-MessageType: comment
Gerrit-Project: libosmo-sigtran
Gerrit-Branch: master
Gerrit-Change-Id: I149ab467899633ac50cba3e482b2cae02124279d
Gerrit-Change-Number: 42105
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <[email protected]>
Gerrit-Reviewer: fixeria <[email protected]>
Gerrit-Reviewer: laforge <[email protected]>
Gerrit-Reviewer: osmith <[email protected]>
Gerrit-Attention: osmith <[email protected]>
Gerrit-Attention: laforge <[email protected]>
Gerrit-Attention: fixeria <[email protected]>
Gerrit-Attention: daniel <[email protected]>
Gerrit-Comment-Date: Wed, 11 Feb 2026 10:16:24 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: laforge <[email protected]>

Reply via email to