Skip to content

Changes

Started by upstream project gerrit-osmo-ttcn3-hacks #3955
Started 5 hr 12 min ago
Queued 21 sec
s1gw: initial testcases for MME pooling

Three test cases covering the MME pool selection logic in OsmoS1GW:

* TC_mme_pool_reject_fallback: S1GW falls back to the next pool entry
  when the first MME rejects S1SetupReq with S1SetupFailure.
* TC_mme_pool_timeout_fallback: S1GW falls back when the first MME
  does not respond to S1SetupReq within the timeout.
* TC_mme_pool_all_reject: all pool entries reject S1SetupReq; S1GW
  must send S1SetupFailure to the eNB and tear down the connection.

Infrastructure added to support these tests:

* S1AP_Server.ttcn: S1AP_ServerList type; directed register/unregister
  helpers (f_ConnHdlr_s1ap_register_to / _unregister_from) for use
  when multiple S1AP_Server_CT instances are active simultaneously.
* S1GW_ConnHdlr.ttcn: f_ConnHdlr_s1ap_setup_pool() drives the pool
  setup sequence: pre-registers with all servers, sends S1SetupReq once
  (S1GW re-transmits it per-MME), then iterates through the expected
  behaviors (ACCEPT / REJECT / TIMEOUT) waiting for each server in turn.
* S1GW_Tests.ttcn: f_init_s1ap_srv(N) starts N MME emulators on
  consecutive IP addresses; f_TC_exec_pool() orchestrates pool tests.
* osmo-s1gw.config: a 'mme_pool' section with three entries is added
  alongside the existing sctp_client section.  Older OsmoS1GW (without
  pooling support) will use sctp_client to connect to a single MME and
  the pool test cases will simply fail, as expected.  Newer OsmoS1GW
  will use mme_pool and all three test cases will pass.

Change-Id: Ib8fd62e4352e3055971a669b8b363078bcd95d8d
Related: SYS#7052
Vadim Yanitskiy at