Skip to content
Success

Changes

Summary

  1. sctp_{server,proxy}: handle sctp_error messages from gen_sctp (details)
Commit 804fe95887e0b474422052a0c69e5210865239d1 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/sctp_common.erl
The file was modifiedsrc/sctp_server.erl
The file was modifiedsrc/sctp_proxy.erl
The file was modifiedinclude/s1gw_metrics.hrl
The file was modifiedsrc/s1gw_metrics.erl