Skip to content
Success

Changes

Summary

  1. erab_fsm: log the creation event and UID (details)
  2. sctp_proxy: move catch-all for SCTP events to handle_event/4 (details)
  3. sctp_{server,proxy}: handle sctp_error messages from gen_sctp (details)
Commit 62935bf597d2771e4aa714c7d76d595be2832184 by Vadim Yanitskiy
erab_fsm: log the creation event and UID

When looking at GSMTAP logging, it's oftentimes useful to see
the beginning of a lifecycle of an E-RAB FSM.

Change-Id: I5746a645d95c9c931c24ebc170ef88cd38311542
Related: SYS#7738
The file was modifiedsrc/erab_fsm.erl
Commit 6ba487838a5bc633d0c6c9544cba0a06659d8ccf by Vadim Yanitskiy
sctp_proxy: move catch-all for SCTP events to handle_event/4

Reduce code duplication and prepare for handing of sctp_error.

Change-Id: I8f42a31fdf4a4e01106ace81d87188a340fe7c83
Related: SYS#7738
The file was modifiedsrc/sctp_proxy.erl
Commit ca311026c1e09b9f57820bf98baded814b4abcd9 by Vadim Yanitskiy
sctp_{server,proxy}: handle sctp_error messages from gen_sctp

The `{sctp_error, ...}` message is undocumented, but it does exist,
and we have encountered it in production.  The logic that generates
`{sctp, ...}` and `{sctp_error, ...}` messages resides in Erlang/OTP's
inet_drv.c, specifically in packet_binary_message() and
sctp_parse_async_event().  Within sctp_parse_async_event(), an error
is indicated by replacing the initial `sctp` atom with `sctp_error`.

Currently the following SCTP events are treated as errors:

* SCTP_SEND_FAILED (becomes #sctp_send_failed{}),
* SCTP_REMOTE_ERROR (becomes #sctp_remote_error{}),
* SCTP_PARTIAL_DELIVERY_EVENT (becomes #sctp_pdapi_event{}).

Print more specific messages when the sctp_error is received.
Add new metrics for the above-mentioned SCTP events.

Change-Id: I38203d915d54dacd4e9bbf158ab86f8936585a34
Related: SYS#7738
The file was modifiedsrc/s1gw_metrics.erl
The file was modifiedinclude/s1gw_metrics.hrl
The file was modifiedsrc/sctp_proxy.erl
The file was modifiedsrc/sctp_common.erl
The file was modifiedsrc/sctp_server.erl