From e827812051f1597db89da2b90e2899b5cd1955ea Mon Sep 17 00:00:00 2001 From: Jacob Erlbeck Date: Mon, 31 Mar 2014 13:42:11 +0200 Subject: ipa: Use enhanced ipa_msg_recv_buffered() to cope with partioned IPA messages The old ipa_msg_recv() implementation didn't support partial receive, so IPA connections got disconnected when this happened. This patch adds the handling of the temporary message buffers and uses ipa_msg_recv_buffered(). It has been successfully tested by jerlbeck with osmo-nitb and osmo-bsc. Ticket: OW#768 Sponsored-by: On-Waves ehf --- openbsc/include/openbsc/bsc_nat.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'openbsc/include/openbsc/bsc_nat.h') diff --git a/openbsc/include/openbsc/bsc_nat.h b/openbsc/include/openbsc/bsc_nat.h index fe8e52137..7bd582cf6 100644 --- a/openbsc/include/openbsc/bsc_nat.h +++ b/openbsc/include/openbsc/bsc_nat.h @@ -97,6 +97,9 @@ struct bsc_connection { /* the fd we use to communicate */ struct osmo_wqueue write_queue; + /* incoming message buffer */ + struct msgb *pending_msg; + /* the BSS associated */ struct bsc_config *cfg; @@ -343,6 +346,8 @@ struct bsc_nat_ussd_con { struct bsc_nat *nat; int authorized; + struct msgb *pending_msg; + struct osmo_timer_list auth_timeout; }; -- cgit v1.2.3