pespin submitted this change.

View Change

Approvals: fixeria: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified pespin: Looks good to me, approved
library/ngap: Use titan native APER enc/dec

Related: OS#6490
Change-Id: I07b604fbd5d3665fdb48c4193ab58cffa7dd709a
---
M 5gc/regen_makefile.sh
M library/ngap/NGAP_EncDec.cc
2 files changed, 8 insertions(+), 42 deletions(-)

diff --git a/5gc/regen_makefile.sh b/5gc/regen_makefile.sh
index be45468..5634e21 100755
--- a/5gc/regen_makefile.sh
+++ b/5gc/regen_makefile.sh
@@ -22,4 +22,4 @@

. ../_buildsystem/regen_makefile.inc.sh

-sed -i -e 's/^LINUX_LIBS = -lxml2 -lsctp/LINUX_LIBS = -lxml2 -lsctp -lfftranscode -lgnutls/' Makefile
+sed -i -e 's/^LINUX_LIBS = -lxml2 -lsctp/LINUX_LIBS = -lxml2 -lsctp -lgnutls/' Makefile
diff --git a/library/ngap/NGAP_EncDec.cc b/library/ngap/NGAP_EncDec.cc
index 55430f5..c54868a 100644
--- a/library/ngap/NGAP_EncDec.cc
+++ b/library/ngap/NGAP_EncDec.cc
@@ -3,62 +3,28 @@
#include <stdarg.h>
#include "NGAP_PDU_Descriptions.hh"

-extern "C" {
-#include <fftranscode/transcode.h>
-}
-
namespace NGAP__Types {

TTCN_Module NGAP__EncDec("NGAP_EncDec", __DATE__, __TIME__);

OCTETSTRING enc__NGAP__PDU(const NGAP__PDU__Descriptions::NGAP__PDU &pdu)
{
- uint8_t *aper_buf;
- int aper_buf_len;
TTCN_Buffer TTCN_buf;
TTCN_buf.clear();
-
- /* Encode from abstract data type into BER/DER */
pdu.encode(NGAP__PDU__Descriptions::NGAP__PDU_descr_, TTCN_buf,
- TTCN_EncDec::CT_BER, BER_ENCODE_DER);
-
- aper_buf_len = fftranscode_ber2aper(FFTRANSC_T_NGAP, &aper_buf, TTCN_buf.get_data(), TTCN_buf.get_len());
- if (aper_buf_len < 0) {
- TTCN_error("fftranscode failed.");
- }
-
- /* make octetstring from output buffer */
- OCTETSTRING ret_val(aper_buf_len, aper_buf);
-
- /* release dynamically-allocated output buffer */
- fftranscode_free(aper_buf);
-
- return ret_val;
+ TTCN_EncDec::CT_PER, PER_ALIGNED);
+ return OCTETSTRING(TTCN_buf.get_len(), TTCN_buf.get_data());
}

NGAP__PDU__Descriptions::NGAP__PDU dec__NGAP__PDU(const OCTETSTRING &stream)
{
- uint8_t *ber_buf;
- int ber_buf_len;
-
- /* First, decode APER + re-encode as BER */
- ber_buf_len = fftranscode_aper2ber(FFTRANSC_T_NGAP, &ber_buf, (const unsigned char *)stream, stream.lengthof());
- if (ber_buf_len < 0) {
- TTCN_error("fftranscode failed.");
- }
-
- /* Then, re-encode from BER to TITAN representation */
- NGAP__PDU__Descriptions::NGAP__PDU ret_dcc;
+ NGAP__PDU__Descriptions::NGAP__PDU pdu;
TTCN_Buffer TTCN_buf;
TTCN_buf.clear();
- TTCN_buf.put_s(ber_buf_len, ber_buf);
-
- ret_dcc.decode(NGAP__PDU__Descriptions::NGAP__PDU_descr_, TTCN_buf,
- TTCN_EncDec::CT_BER, BER_ACCEPT_ALL);
-
- fftranscode_free(ber_buf);
-
- return ret_dcc;
+ TTCN_buf.put_os(stream);
+ pdu.decode(NGAP__PDU__Descriptions::NGAP__PDU_descr_, TTCN_buf,
+ TTCN_EncDec::CT_PER, PER_ALIGNED);
+ return pdu;
}

}

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

Gerrit-MessageType: merged
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I07b604fbd5d3665fdb48c4193ab58cffa7dd709a
Gerrit-Change-Number: 40730
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin@sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: laforge <laforge@osmocom.org>
Gerrit-Reviewer: osmith <osmith@sysmocom.de>
Gerrit-Reviewer: pespin <pespin@sysmocom.de>