pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-gprs/+/30490 )
Change subject: sndcp: Initial libosmo-gprs-sndcp support ......................................................................
sndcp: Initial libosmo-gprs-sndcp support
This commit follows a similar approach to Change-Id I588eb576b2703262f4ab9566ec362920d8390cfd, this time targeting the SNDCP layer, creating a new library for it. This new library depends on headers from libosmo-gprs-llc since the SNDCP spec takes the interface towards lower interfaces from same llc_prim. It doesn't really call any API from the libosmo-gprs-llc library to dispatch the primitive, that's left for the application, so that it can be reused against other implementations.
Most of the SNDCP data structures and APIs are kept private and used only internally. The Higher/lower layers are expected to interact with it through the sndcp_prim API.
This commit also implements some of the code paths of the public API by means on importing SNDCP code from osmo-sgsn.git 55e3dc8ec82ce0707b4811b8ce984572416de722. The import of code cannot be done in a separate commit since existing code in osmo-sgsn.git is low quality and has tons of layer violations in all directions. Hence, this commit aims at being an initial point of having some working SNDCP stack by means of a few unit tests, but by no means aims to be a total working implementation. Some code paths are missing; bugs are expected at this point.
Change-Id: Ie05b5d721cf0a6147ed45c1feb75ad829865252b --- M Makefile.am M configure.ac M include/osmocom/gprs/Makefile.am M include/osmocom/gprs/llc/llc_private.h A include/osmocom/gprs/sndcp/Makefile.am A include/osmocom/gprs/sndcp/comp.h A include/osmocom/gprs/sndcp/dcomp.h A include/osmocom/gprs/sndcp/pcomp.h A include/osmocom/gprs/sndcp/slhc.h A include/osmocom/gprs/sndcp/sndcp.h A include/osmocom/gprs/sndcp/sndcp_prim.h A include/osmocom/gprs/sndcp/sndcp_private.h A include/osmocom/gprs/sndcp/v42bis.h A include/osmocom/gprs/sndcp/v42bis_private.h A include/osmocom/gprs/sndcp/xid.h A libosmo-gprs-sndcp.pc.in M src/Makefile.am A src/sndcp/Makefile.am A src/sndcp/misc.c A src/sndcp/slhc.c A src/sndcp/sndcp.c A src/sndcp/sndcp_comp.c A src/sndcp/sndcp_dcomp.c A src/sndcp/sndcp_pcomp.c A src/sndcp/sndcp_prim.c A src/sndcp/sndcp_xid.c A src/sndcp/v42bis.c M tests/Makefile.am A tests/sndcp/Makefile.am A tests/sndcp/slhc_test.c A tests/sndcp/slhc_test.ok A tests/sndcp/sndcp_prim_test.c A tests/sndcp/sndcp_prim_test.err A tests/sndcp/sndcp_prim_test.ok A tests/sndcp/sndcp_xid_test.c A tests/sndcp/sndcp_xid_test.ok M tests/testsuite.at 37 files changed, 7,956 insertions(+), 9 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-gprs refs/changes/90/30490/1