2021-11-23 13:18:44 +00:00
|
|
|
SUBDIRS = \
|
libosmo-gtlv: add generic TLV de- and encoder
An all new TLV parser supporting:
- Any size of T and L (determined by callback function),
- "Grouped IEs", so that an IE payload is a nested IE structure,
- optional/mandatory/multi-occurence IEs,
- decoding unordered tags (or enforcing strict order).
Will be used for PFCP message decoding and encoding, a T16L16V protocol
which requires above features.
Upcoming patches add
- translating PDUs to plain C structs and vice versa
- TLV generator to reduce repetition a in protocol definition
- TLIV capability
Previously, the way we deal with TLVs causes a lot of code
re-implementation: the TL decoding is taken care of by the API, but for
encoding, we essentially re-implement each protocol and each encoded
message in the individual programs. This API is an improvement in that
we only once implement the TL coding (or just use osmo_t8l8v_cfg /
osmo_t16l16v_cfg), get symmetric de- and encoding of the TL, and only
need to deal with the value part of each IE.
The common pattern of
- store TL preliminarily,
- write V data and
- update L after V is complete
is conveniently done by osmo_gtlv_put_update_tl().
Related: SYS#5599
Change-Id: Ib0fd00d9f288ffe13b7e67701f3e47073587404a
2022-01-12 01:38:39 +00:00
|
|
|
libosmo-gtlv \
|
2022-03-17 13:56:28 +00:00
|
|
|
libosmo-pfcp \
|
2021-11-23 13:18:44 +00:00
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
# The `:;' works around a Bash 3.2 bug when the output is not writeable.
|
|
|
|
$(srcdir)/package.m4: $(top_srcdir)/configure.ac
|
|
|
|
:;{ \
|
|
|
|
echo '# Signature of the current package.' && \
|
|
|
|
echo 'm4_define([AT_PACKAGE_NAME],' && \
|
|
|
|
echo ' [$(PACKAGE_NAME)])' && \
|
|
|
|
echo 'm4_define([AT_PACKAGE_TARNAME],' && \
|
|
|
|
echo ' [$(PACKAGE_TARNAME)])' && \
|
|
|
|
echo 'm4_define([AT_PACKAGE_VERSION],' && \
|
|
|
|
echo ' [$(PACKAGE_VERSION)])' && \
|
|
|
|
echo 'm4_define([AT_PACKAGE_STRING],' && \
|
|
|
|
echo ' [$(PACKAGE_STRING)])' && \
|
|
|
|
echo 'm4_define([AT_PACKAGE_BUGREPORT],' && \
|
|
|
|
echo ' [$(PACKAGE_BUGREPORT)])'; \
|
|
|
|
echo 'm4_define([AT_PACKAGE_URL],' && \
|
|
|
|
echo ' [$(PACKAGE_URL)])'; \
|
|
|
|
} >'$(srcdir)/package.m4'
|
|
|
|
|
|
|
|
EXTRA_DIST = \
|
|
|
|
testsuite.at \
|
|
|
|
$(srcdir)/package.m4 \
|
|
|
|
$(TESTSUITE) \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
TESTSUITE = $(srcdir)/testsuite
|
|
|
|
|
|
|
|
DISTCLEANFILES = \
|
|
|
|
atconfig \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
check-local: atconfig $(TESTSUITE)
|
|
|
|
$(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS)
|
|
|
|
|
|
|
|
installcheck-local: atconfig $(TESTSUITE)
|
|
|
|
$(SHELL) '$(TESTSUITE)' AUTOTEST_PATH='$(bindir)' \
|
|
|
|
$(TESTSUITEFLAGS)
|
|
|
|
|
|
|
|
clean-local:
|
|
|
|
test ! -f '$(TESTSUITE)' || \
|
|
|
|
$(SHELL) '$(TESTSUITE)' --clean
|
|
|
|
|
|
|
|
AUTOM4TE = $(SHELL) $(top_srcdir)/missing --run autom4te
|
|
|
|
AUTOTEST = $(AUTOM4TE) --language=autotest
|
|
|
|
$(TESTSUITE): $(srcdir)/testsuite.at $(srcdir)/package.m4
|
|
|
|
$(AUTOTEST) -I '$(srcdir)' -o $@.tmp $@.at
|
|
|
|
mv $@.tmp $@
|