pespin submitted this change.

View Change

Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve daniel: Looks good to me, but someone else must approve pespin: Looks good to me, approved
Clear SCTP tx queue upon SCTP RESTART notification

Depends: libosmo-netif.git Change-Id Iecb0a4bc281647673d2930d1f1586a2df231af52
Related: SYS#6113
Change-Id: I60adf35e5b5713d38c4584615e059875dcb74bd7
---
M TODO-RELEASE
M src/osmo-hnbgw/hnbgw.c
2 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/TODO-RELEASE b/TODO-RELEASE
index d0852fc..fbce417 100644
--- a/TODO-RELEASE
+++ b/TODO-RELEASE
@@ -7,3 +7,4 @@
# If any interfaces have been added since the last public release: c:r:a + 1.
# If any interfaces have been removed or changed since the last public release: c:r:0.
#library what description / commit summary line
+libosmo-netif >1.2.0 new APIs osmo_stream_{cli,srv}_clear_tx_queue()
\ No newline at end of file
diff --git a/src/osmo-hnbgw/hnbgw.c b/src/osmo-hnbgw/hnbgw.c
index 38d33eb..ce5e5e4 100644
--- a/src/osmo-hnbgw/hnbgw.c
+++ b/src/osmo-hnbgw/hnbgw.c
@@ -269,6 +269,12 @@
case SCTP_RESTART:
LOGHNB(hnb, DMAIN, LOGL_NOTICE, "HNB SCTP conn RESTARTed, marking as HNBAP-unregistered\n");
hnb->hnb_registered = false;
+ /* The tx queue may be quite full after an SCTP RESTART: (SYS#6113)
+ * The link may have been flaky (a possible reason for the peer restarting the conn) and
+ * hence the kernel socket Tx queue may be full (no ACKs coming back) and our own userspace
+ * queue may contain plenty of oldish messages to be sent. Since the HNB will re-register after
+ * this, we simply drop all those old messages: */
+ osmo_stream_srv_clear_tx_queue(conn);
break;
}
break;

To view, visit change 29777. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: osmo-hnbgw
Gerrit-Branch: master
Gerrit-Change-Id: I60adf35e5b5713d38c4584615e059875dcb74bd7
Gerrit-Change-Number: 29777
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann@sysmocom.de>
Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: laforge <laforge@osmocom.org>
Gerrit-Reviewer: osmith <osmith@sysmocom.de>
Gerrit-Reviewer: pespin <pespin@sysmocom.de>
Gerrit-MessageType: merged