arehbein has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/33653 )
Change subject: Revert "gsm/ipa: Add segmentation callback" ...................................................................... Revert "gsm/ipa: Add segmentation callback" It has been decided that the segmentation callback be changed and moved to libosmo-netif, so we remove it here. This reverts commit 2c59d1285e8f4c47122e1749ff1ac60e99a1874e. Related: OS#5753 Change-Id: I9b380326c63587fc79d6a5d8cd458188074fc55d --- M include/osmocom/gsm/ipa.h M src/gsm/ipa.c M src/gsm/libosmogsm.map 3 files changed, 15 insertions(+), 33 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/53/33653/1 diff --git a/include/osmocom/gsm/ipa.h b/include/osmocom/gsm/ipa.h index 8a4dd3f..851b58e 100644 --- a/include/osmocom/gsm/ipa.h +++ b/include/osmocom/gsm/ipa.h @@ -79,6 +79,3 @@ int ipa_msg_recv(int fd, struct msgb **rmsg); int ipa_msg_recv_buffered(int fd, struct msgb **rmsg, struct msgb **tmp_msg); - -/* Callback for segmenting TCP stream data into IPA packets */ -int ipa_segmentation_cb(struct msgb *msg); diff --git a/src/gsm/ipa.c b/src/gsm/ipa.c index 4092614..cd95c6b 100644 --- a/src/gsm/ipa.c +++ b/src/gsm/ipa.c @@ -30,7 +30,6 @@ #include <stdint.h> #include <errno.h> #include <stdlib.h> -#include <inttypes.h> #include <sys/types.h> @@ -719,32 +718,4 @@ return nmsg; } -/*! Segmentation callback used by libosmo-netif streaming backend - * See definition of `struct osmo_io_ops` for callback semantics - * \param[in] msg Original `struct msgb` received via osmo_io - * \returns The total packet length indicated by the first header, - * otherwise - * -EAGAIN, if the header has not been read yet, - * -ENOBUFS, if the header declares a payload too large - */ -int ipa_segmentation_cb(struct msgb *msg) -{ - const struct ipaccess_head *hh = (const struct ipaccess_head *) msg->data; - size_t payload_len, total_len; - size_t available = msgb_length(msg) + msgb_tailroom(msg); - if (msgb_length(msg) < sizeof(*hh)) { - /* Haven't even read the entire header */ - return -EAGAIN; - } - payload_len = osmo_ntohs(hh->len); - total_len = sizeof(*hh) + payload_len; - if (OSMO_UNLIKELY(available < total_len)) { - LOGP(DLINP, LOGL_ERROR, "Not enough space left in message buffer. " - "Have %zu octets, but need %zu\n", - available, total_len); - return -ENOBUFS; - } - return total_len; -} - /*! @} */ diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index 0dfffd3..951cbcb 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -691,7 +691,6 @@ ipa_ccm_id_resp_parse; ipa_ccm_make_id_resp; ipa_ccm_make_id_resp_from_req; -ipa_segmentation_cb; ipa_msg_alloc; ipa_msg_recv; ipa_msg_recv_buffered; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/33653 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9b380326c63587fc79d6a5d8cd458188074fc55d Gerrit-Change-Number: 33653 Gerrit-PatchSet: 1 Gerrit-Owner: arehbein <arehb...@sysmocom.de> Gerrit-MessageType: newchange