Skip to content
Success

Changes

Summary

  1. sctp_proxy: use a record for storing state data (details)
  2. sctp_proxy: use lists:filter/2 in sctp_send_pending/2 (details)
  3. sctp_proxy: connecting/3: clarify loop state transition (details)
  4. s1ap_proxy: move {en,de}code_pdu/1 to s1ap_utils (details)
  5. s1ap_proxy: signal GTP-U addr and eNB info to sctp_proxy (details)
  6. s1ap_proxy: drop fetch_enb_info/1 (details)
  7. s1ap_utils: add API for S1AP PDU parsing (details)
  8. s1ap_proxy: move S1 SETUP handling to sctp_proxy (details)
  9. Rename sctp_proxy -> enb_proxy (details)
Commit 55484175bbccfff77ef61c317f9bfcb67bed3fd6 by Vadim Yanitskiy
sctp_proxy: use a record for storing state data

Maps are convenient, but they are also more permissive: field names
are unchecked at compile time, making it easier for typos or unexpected
fields to slip through.  Records, on the other hand, are stricter and
more declarative.  Their structure is explicitly defined, the set of
fields is fixed, and the compiler can validate field names.

Change-Id: Ice9c255c0cf14db0a216bb078198b9b9c76d22a7
The file was modifiedsrc/sctp_proxy.erl
Commit fb936cebe8adaa2a65b9a1fc37fa9b97f40a2e68 by Vadim Yanitskiy
sctp_proxy: use lists:filter/2 in sctp_send_pending/2

Use less code to achieve the same result.

Change-Id: Ic666fd77bc6d04341f3c57140dea5d4a5e616e80
The file was modifiedsrc/sctp_proxy.erl
Commit 1d761118a3c4a24e1db845d4310d396086b5bb83 by Vadim Yanitskiy
sctp_proxy: connecting/3: clarify loop state transition

Change-Id: I085955d1fd8e1c312c0630a2ba821d7bfd0814c1
The file was modifiedsrc/sctp_proxy.erl
Commit f44ca78456dda063390e995f7eaf048c13eec7f9 by Vadim Yanitskiy
s1ap_proxy: move {en,de}code_pdu/1 to s1ap_utils

This API will be used by other modules in follow-up patches.

Change-Id: I582824a4cac5013ba65a6dd0772f05d49dc14b57
Related: SYS#7052
The file was modifiedsrc/s1ap_proxy.erl
The file was addedsrc/s1ap_utils.erl
Commit cd14c213dbe9a2030c35c0039e802f9c5c7820eb by Vadim Yanitskiy
s1ap_proxy: signal GTP-U addr and eNB info to sctp_proxy

Move all interaction with the `enb_registry` and `gtpu_kpi` modules
from `s1ap_proxy` to its parent process, `sctp_proxy`.  This prepares
for a follow-up change in which handling of the S1 SETUP procedure
will be fully migrated to `sctp_proxy` - a prerequisite for
proper MME pooling support.

Change-Id: I87e7d22a4bc5cb7816a167ac7dd29ea917594ce8
Related: SYS#7052
The file was modifiedtest/s1ap_proxy_test.erl
The file was modifiedsrc/s1ap_proxy.erl
The file was modifiedsrc/sctp_proxy.erl
Commit 9ff60fdb28677ae5ced7ca69bf27001967cc056b by Vadim Yanitskiy
s1ap_proxy: drop fetch_enb_info/1

This API is no longer used/needed, since we have the enb_registry.

Change-Id: I5a5f0dc1374f14fce14b33b3ea237eb083dd302c
Related: ada15bf ("enb_registry: new module")
The file was modifiedsrc/s1ap_proxy.erl
Commit 16e4221a8cca4d75afa40efb9905e7017acbe35c by Vadim Yanitskiy
s1ap_utils: add API for S1AP PDU parsing

This API will be used in a follow-up patch, in which handling of
the S1 SETUP procedure will be fully migrated to `sctp_proxy` -
a prerequisite for proper MME pooling support.

Change-Id: I0aa3847d0f0ae65f13fa6bbfdbcd6ed188dcb04f
Related: SYS#7052
The file was modifiedsrc/s1ap_proxy.erl
The file was modifiedsrc/enb_registry.erl
The file was modifiedsrc/s1ap_utils.erl
The file was addedtest/s1ap_utils_test.erl
Commit 4614fc316dbd5fc286fc5d9dd3fcbe3fe0c93145 by Vadim Yanitskiy
s1ap_proxy: move S1 SETUP handling to sctp_proxy

This is a prerequisite for the MME pooling support.  We need to receive
the S1 SETUP REQUEST PDU, extract the Global-eNB-ID and TAC(s), and use
this information to select an appropriate MME.  The PDU must also be
cached so it can be sent (or re-sent) to the selected MME(s).

The s1ap_proxy module no longer needs to parse S1 SETUP PDUs, as this
logic has been moved to the sctp_proxy and implemented using the newly
introduced s1ap_utils API.  However, s1ap_proxy still requires the
Global-eNB-ID for logging and per-eNB counters, so sctp_proxy now
provides it through the new s1ap_proxy:set_genb_id/2 API.

Change-Id: I9aa67732b418bcdf3f10b2db89a41dda26ee3d4e
Related: SYS#7052
The file was modifiedtest/s1ap_proxy_test.erl
The file was modifiedsrc/enb_registry.erl
The file was modifiedsrc/sctp_proxy.erl
The file was modifiedsrc/s1ap_proxy.erl
Commit 7c86424163bb1ee8f18a00cca754f1ac20b2525f by Vadim Yanitskiy
Rename sctp_proxy -> enb_proxy

This module is no longer an abstract SCTP proxy, ever since we
started processing and/or patching S1AP PDUs via the s1ap_proxy.

Change-Id: I8beaea9aa98dfa1c2e6f1d1c823b033892bd00cb
Related: SYS#7052
The file was addedsrc/enb_proxy.erl
The file was removedsrc/sctp_proxy.erl
The file was modifiedsrc/rest_server.erl
The file was modifiedsrc/enb_registry.erl
The file was modifiedsrc/osmo_s1gw_sup.erl