Attention is currently required from: fixeria, osmith.
Hello Jenkins Builder, osmith,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/erlang/osmo-s1gw/+/41624?usp=email
to look at the new patch set (#6).
The following approvals got outdated and were removed: Verified+1 by Jenkins Builder
Change subject: enb_proxy: add initial MME pooling support ......................................................................
enb_proxy: add initial MME pooling support
Rework the CONNECTING state to dynamically select an MME from the pool via mme_registry:mme_select/1, passing the eNB's Tracking Area Codes (from the ?'id-SupportedTAs' IE of the S1 SETUP REQUEST) and a list of already-tried MMEs, so successive attempts pick a different candidate.
On connection failure (SCTP establishment timeout or error), or when the selected MME rejects the S1 SETUP REQUEST or fails to respond in time, the FSM re-enters the CONNECTING state rather than terminating. This triggers another mme_select/1 call with the failed MME added to the tried_mmes list. S1 SETUP FAILURE PDUs from the MME are intentionally not forwarded to the eNB, so the retry is fully transparent.
Once mme_select/1 exhausts all candidates it returns 'error'; at that point the FSM builds and sends an S1 SETUP FAILURE PDU to the eNB and terminates.
Other changes: * add close_sock/1, close_conn/1 helpers; simplify terminate/3 * add ?S1GW_CTR_ENB_PROXY_MME_SELECT_ERROR counter
Change-Id: I83dc4a78c78a7b87e87f5ca9a941a168d6c1dc36 Related: SYS#7052 --- M include/s1gw_metrics.hrl M src/enb_proxy.erl M src/s1ap_utils.erl M src/s1gw_metrics.erl 4 files changed, 84 insertions(+), 33 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/erlang/osmo-s1gw refs/changes/24/41624/6