Pau Espin
96271688cf
It was seen on a real pcap trace (sctp & gsmtap_log) that the Linux kernel stack may decide to kill the connection (sending an ABORT) if it fails to transmit some data after a while: ABORT Cause code: "Protocol violation (0x000d)", Cause Information: "Association exceeded its max_retrans count". When this occurs, the kernel sends the MSG_NOTIFICATION,SCTP_ASSOC_CHANGE,SCTP_COMM_LOST notification when reading from the socket with sctp_recvmsg(). This basically signals that the socket conn is dead, and subsequent writes to it will result in send() failures (and receive SCTP_SEND_FAILED notification upon follow up reads). It's important to notice that after those events, there's no other sort of different event like SHUTDOWN coming in, so that's the time at which we must tell the user to close the socket. Hence, let's signal the caller that the socket is dead by returning 0, to comply with usual recv() API. Related: SYS#6113 Change-Id: If94d44f25b76a96a5ea402fec9fc14c4e6296ba3 |
||
---|---|---|
contrib | ||
debian | ||
examples | ||
include | ||
m4 | ||
src | ||
tests | ||
.gitignore | ||
.gitreview | ||
COPYING | ||
Doxyfile.in | ||
Makefile.am | ||
README.md | ||
TODO-RELEASE | ||
configure.ac | ||
git-version-gen | ||
libosmo-netif.pc.in |
README.md
libosmo-netif- Osmocom network interface library
This repository contains a C-language library that form the basis of various higher-layer cellular communications protocol implementation. It implements stream server and clients for TCP, UDP, IPA as well as the non-standard/proprietary OSMUX protocol.
Homepage
The official homepage of the project is https://osmocom.org/projects/libosmo-netif
GIT Repository
You can clone from the official libosmo-netif.git repository using
git clone https://gitea.osmocom.org/osmocom/libosmo-netif
There is a web interface at https://gitea.osmocom.org/osmocom/libosmo-netif
Documentation
There is no Doxygen-generated API documentation yet for this library. It would be great to some day have it, comparable to libosmocore.
Mailing List
Discussions related to libosmo-netif are happening on the openbsc@lists.osmocom.org mailing list, please see https://lists.osmocom.org/mailman/listinfo/openbsc for subscription options and the list archive.
Please observe the Osmocom Mailing List Rules when posting.
Contributing
Our coding standards are described at https://osmocom.org/projects/cellular-infrastructure/wiki/Coding_standards
We us a gerrit based patch submission/review process for managing contributions. Please see https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit for more details
The current patch queue for libosmo-netif can be seen at https://gerrit.osmocom.org/#/q/project:libosmo-netif+status:open