Clear SCTP tx queue upon SCTP RESTART notification
Depends: libosmo-netif.git Change-Id Iecb0a4bc281647673d2930d1f1586a2df231af52 Related: SYS#6113 Change-Id: I60adf35e5b5713d38c4584615e059875dcb74bd7
This commit is contained in:
parent
bbad8dec36
commit
b9be0ea93e
|
@ -7,3 +7,4 @@
|
||||||
# If any interfaces have been added since the last public release: c:r:a + 1.
|
# 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.
|
# If any interfaces have been removed or changed since the last public release: c:r:0.
|
||||||
#library what description / commit summary line
|
#library what description / commit summary line
|
||||||
|
libosmo-netif >1.2.0 new APIs osmo_stream_{cli,srv}_clear_tx_queue()
|
|
@ -269,6 +269,12 @@ static int hnb_read_cb(struct osmo_stream_srv *conn)
|
||||||
case SCTP_RESTART:
|
case SCTP_RESTART:
|
||||||
LOGHNB(hnb, DMAIN, LOGL_NOTICE, "HNB SCTP conn RESTARTed, marking as HNBAP-unregistered\n");
|
LOGHNB(hnb, DMAIN, LOGL_NOTICE, "HNB SCTP conn RESTARTed, marking as HNBAP-unregistered\n");
|
||||||
hnb->hnb_registered = false;
|
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;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue