lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/42761?usp=email )
Change subject: TCAP loadshare: move last_asp_idx_sent from cfg to runtime struct ......................................................................
TCAP loadshare: move last_asp_idx_sent from cfg to runtime struct
The last_asp_idx_sent is a runtime information and not configurable. Move it to the other runtime state.
Change-Id: Id52bb0f6c67949b5e03f7ad36996f37a0d25214a --- M src/ss7_as.h M src/tcap_as_loadshare.c 2 files changed, 4 insertions(+), 4 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-sigtran refs/changes/61/42761/1
diff --git a/src/ss7_as.h b/src/ss7_as.h index 8293e0c..877a4f0 100644 --- a/src/ss7_as.h +++ b/src/ss7_as.h @@ -133,6 +133,7 @@ /* TODO: the hash tables size might not be optimal */ DECLARE_HASHTABLE(trans_track_own, 10); DECLARE_HASHTABLE(trans_track_peer, 10); + struct ss7_as_asp_assoc *last_asp_idx_sent; } tcap; #endif /* WITH_TCAP_LOADSHARING */
@@ -179,7 +180,6 @@ struct { bool enabled; unsigned int timeout_s; - struct ss7_as_asp_assoc *last_asp_idx_sent; enum ss7_as_tcap_unroutable unroutable_tcap_msg; } tcap; #endif /* WITH_TCAP_LOADSHARING */ diff --git a/src/tcap_as_loadshare.c b/src/tcap_as_loadshare.c index dccf84f..9ffd4ee 100644 --- a/src/tcap_as_loadshare.c +++ b/src/tcap_as_loadshare.c @@ -259,7 +259,7 @@ struct ss7_as_asp_assoc *assoc;
for (unsigned int i = 0; i < as->num_assoc_asps; i++) { - assoc = ss7_as_asp_assoc_llist_round_robin(as, &as->cfg.loadshare.tcap.last_asp_idx_sent); + assoc = ss7_as_asp_assoc_llist_round_robin(as, &as->tcap.last_asp_idx_sent); if (assoc && osmo_ss7_asp_active(assoc->asp) && assoc->asp->tcap.enabled) { if (fallback) rate_ctr_inc2(as->ctrg, SS7_AS_CTR_TCAP_ASP_FALLBACK); @@ -938,7 +938,7 @@ return;
/* Update round robin state */ - ss7_as_del_asp_update_llist_round_robin(as, asp, &as->cfg.loadshare.tcap.last_asp_idx_sent); + ss7_as_del_asp_update_llist_round_robin(as, asp, &as->tcap.last_asp_idx_sent); _tcap_range_asp_down(as, asp); if (as->tcap.contains_pc || as->tcap.contains_ssn) tcap_range_as_update_pc_ssn(as); @@ -961,7 +961,7 @@ as->cfg.loadshare.tcap.enabled = false; as->tcap.contains_pc = false; as->tcap.contains_ssn = false; - as->cfg.loadshare.tcap.last_asp_idx_sent = NULL; + as->tcap.last_asp_idx_sent = NULL; tcap_trans_track_garbage_collect_stop(as); tcap_trans_track_entries_free_all(as); }