Pau Espin Pedrol has submitted this change and it was merged. ( https://gerrit.osmocom.org/9216 )
Change subject: mgcp: switch to new osmux output APIs ...................................................................... mgcp: switch to new osmux output APIs Older ones are being deprecated as they may generate interleaved packets. Change-Id: I0705aa4dc4b02eaff4d6030795243e6720f7fddf --- M src/libosmo-mgcp/mgcp_osmux.c 1 file changed, 11 insertions(+), 6 deletions(-) Approvals: Neels Hofmeyr: Looks good to me, but someone else must approve Pau Espin Pedrol: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/libosmo-mgcp/mgcp_osmux.c b/src/libosmo-mgcp/mgcp_osmux.c index bdc285b..281595c 100644 --- a/src/libosmo-mgcp/mgcp_osmux.c +++ b/src/libosmo-mgcp/mgcp_osmux.c @@ -322,7 +322,6 @@ { struct msgb *msg; struct osmux_hdr *osmuxh; - struct llist_head list; struct sockaddr_in addr; struct mgcp_config *cfg = ofd->data; uint32_t rem; @@ -359,8 +358,7 @@ conn_bts->osmux.stats.chunks++; rem = msg->len; - osmux_xfrm_output(osmuxh, &conn_bts->osmux.out, &list); - osmux_tx_sched(&list, scheduled_tx_bts_cb, endp); + osmux_xfrm_output_sched(&conn_bts->osmux.out, osmuxh); } out: msgb_free(msg); @@ -426,7 +424,6 @@ { struct msgb *msg; struct osmux_hdr *osmuxh; - struct llist_head list; struct sockaddr_in addr; struct mgcp_config *cfg = ofd->data; uint32_t rem; @@ -463,8 +460,7 @@ conn_net->osmux.stats.chunks++; rem = msg->len; - osmux_xfrm_output(osmuxh, &conn_net->osmux.out, &list); - osmux_tx_sched(&list, scheduled_tx_net_cb, endp); + osmux_xfrm_output_sched(&conn_net->osmux.out, osmuxh); } out: msgb_free(msg); @@ -553,9 +549,13 @@ switch (endp->cfg->role) { case MGCP_BSC_NAT: conn->type = MGCP_OSMUX_BSC_NAT; + osmux_xfrm_output_set_tx_cb(&conn->osmux.out, + scheduled_tx_net_cb, endp); break; case MGCP_BSC: conn->type = MGCP_OSMUX_BSC; + osmux_xfrm_output_set_tx_cb(&conn->osmux.out, + scheduled_tx_bts_cb, endp); break; } @@ -576,6 +576,11 @@ LOGP(DLMGCP, LOGL_INFO, "Releasing connection %s using Osmux CID %u\n", conn->conn->id, conn->osmux.cid); + + /* We are closing, we don't need pending RTP packets to be transmitted */ + osmux_xfrm_output_set_tx_cb(&conn->osmux.out, NULL, NULL); + osmux_xfrm_output_flush(&conn->osmux.out); + osmux_xfrm_input_close_circuit(conn->osmux.in, conn->osmux.cid); conn->osmux.state = OSMUX_STATE_DISABLED; conn->osmux.cid = -1; -- To view, visit https://gerrit.osmocom.org/9216 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-mgw Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I0705aa4dc4b02eaff4d6030795243e6720f7fddf Gerrit-Change-Number: 9216 Gerrit-PatchSet: 2 Gerrit-Owner: Pau Espin Pedrol <pes...@sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: Neels Hofmeyr <nhofm...@sysmocom.de> Gerrit-Reviewer: Pau Espin Pedrol <pes...@sysmocom.de>