aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2021-01-21 18:46:13 +0100
committerPau Espin Pedrol <pespin@sysmocom.de>2021-01-29 12:59:30 +0100
commitc0a250d17d79e08763f77cdf58e970dc2e65e7d3 (patch)
treefd17974c91dd13c5cd2f601c5937dcd025c52e04 /tests
parent1e77ca88af8f07290cd1a11f11f3db916c9c3c79 (diff)
Introduce NACC support
A new nacc_fsm is introduced per MS object, with its partner priv structure struct nacc_fsm_ctx, which exists and is available in the MS object only during the duration of the NACC procedure. The NACC context is created on an MS whenever a Pkt Cell Change Notification is received on Uplink RLCMAC, which asks for neighbor information of a given ARFCN+BSIC. First, the target ARFCN+BSIC needs to be translated into a CGI-PS (RAC+CI) address. That's done by asking the BSC through the Neighbour Resolution Service available in osmo-bsc using the CTRL interface. Once the CGI-PS of the target cell is known, PCU starts a RIM RAN-INFO request against the SGSN (which will route the request as needed), and wait for a response containing the SI bits from the target cell. After the SI are received, the scheduler is instructed to eventually poll a TBF for the MS originating the CCN, so that we can send the SI encapsulated into multiple Packet Neighbor Cell Data messages on the downlink. One all the SI bits are sent, the scheduler is instructed to send a Packet Cell Change Continue message. Once the message above has been sent, the FSM autodestroys itself. Caches are also introduced in this patch which allows for re-using recently known translations ARFCN+BSIC -> CGI-PS and CGI-PS -> SI_INFO respectively. Change-Id: Id35f40d05f3e081f32fddbf1fa34cb338db452ca
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile.am14
1 files changed, 13 insertions, 1 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index c599636..a7771b9 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,4 +1,4 @@
-AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGB_CFLAGS) $(LIBOSMOGSM_CFLAGS) -I$(top_srcdir)/src/ -I$(top_srcdir)/include/
+AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(LIBOSMOCORE_CFLAGS) $(LIBOSMOCTRL_CFLAGS) $(LIBOSMOGB_CFLAGS) $(LIBOSMOGSM_CFLAGS) -I$(top_srcdir)/src/ -I$(top_srcdir)/include/
AM_LDFLAGS = -lrt -no-install
check_PROGRAMS = rlcmac/RLCMACTest alloc/AllocTest alloc/MslotTest tbf/TbfTest types/TypesTest ms/MsTest llist/LListTest llc/LlcTest codel/codel_test edge/EdgeTest bitcomp/BitcompTest fn/FnTest app_info/AppInfoTest
@@ -15,6 +15,7 @@ alloc_AllocTest_LDADD = \
$(top_builddir)/src/libgprs.la \
$(LIBOSMOGB_LIBS) \
$(LIBOSMOGSM_LIBS) \
+ $(LIBOSMOCTRL_LIBS) \
$(LIBOSMOCORE_LIBS) \
$(COMMON_LA)
@@ -23,6 +24,7 @@ alloc_MslotTest_LDADD = \
$(top_builddir)/src/libgprs.la \
$(LIBOSMOGB_LIBS) \
$(LIBOSMOGSM_LIBS) \
+ $(LIBOSMOCTRL_LIBS) \
$(LIBOSMOCORE_LIBS) \
$(COMMON_LA)
@@ -31,6 +33,7 @@ tbf_TbfTest_LDADD = \
$(top_builddir)/src/libgprs.la \
$(LIBOSMOGB_LIBS) \
$(LIBOSMOGSM_LIBS) \
+ $(LIBOSMOCTRL_LIBS) \
$(LIBOSMOCORE_LIBS) \
$(COMMON_LA)
tbf_TbfTest_LDFLAGS = -Wl,--wrap=pcu_sock_send
@@ -38,6 +41,7 @@ tbf_TbfTest_LDFLAGS = -Wl,--wrap=pcu_sock_send
bitcomp_BitcompTest_SOURCES = bitcomp/BitcompTest.cpp ../src/egprs_rlc_compression.cpp
bitcomp_BitcompTest_LDADD = \
$(top_builddir)/src/libgprs.la \
+ $(LIBOSMOCTRL_LIBS) \
$(LIBOSMOCORE_LIBS) \
$(COMMON_LA)
@@ -46,6 +50,7 @@ edge_EdgeTest_LDADD = \
$(top_builddir)/src/libgprs.la \
$(LIBOSMOGB_LIBS) \
$(LIBOSMOGSM_LIBS) \
+ $(LIBOSMOCTRL_LIBS) \
$(LIBOSMOCORE_LIBS) \
$(COMMON_LA)
@@ -56,6 +61,7 @@ emu_pcu_emu_LDADD = \
$(top_builddir)/src/libgprs.la \
$(LIBOSMOGB_LIBS) \
$(LIBOSMOGSM_LIBS) \
+ $(LIBOSMOCTRL_LIBS) \
$(LIBOSMOCORE_LIBS) \
$(COMMON_LA)
@@ -64,6 +70,7 @@ types_TypesTest_LDADD = \
$(top_builddir)/src/libgprs.la \
$(LIBOSMOGB_LIBS) \
$(LIBOSMOGSM_LIBS) \
+ $(LIBOSMOCTRL_LIBS) \
$(LIBOSMOCORE_LIBS) \
$(COMMON_LA)
@@ -72,6 +79,7 @@ ms_MsTest_LDADD = \
$(top_builddir)/src/libgprs.la \
$(LIBOSMOGB_LIBS) \
$(LIBOSMOGSM_LIBS) \
+ $(LIBOSMOCTRL_LIBS) \
$(LIBOSMOCORE_LIBS) \
$(COMMON_LA)
@@ -83,6 +91,7 @@ llc_LlcTest_LDADD = \
$(top_builddir)/src/libgprs.la \
$(LIBOSMOGB_LIBS) \
$(LIBOSMOGSM_LIBS) \
+ $(LIBOSMOCTRL_LIBS) \
$(LIBOSMOCORE_LIBS) \
$(COMMON_LA)
@@ -97,6 +106,7 @@ llist_LListTest_LDADD = \
codel_codel_test_SOURCES = codel/codel_test.c
codel_codel_test_LDADD = \
$(top_builddir)/src/libgprs.la \
+ $(LIBOSMOCTRL_LIBS) \
$(LIBOSMOCORE_LIBS) \
$(COMMON_LA)
@@ -105,6 +115,7 @@ fn_FnTest_LDADD = \
$(top_builddir)/src/libgprs.la \
$(LIBOSMOGB_LIBS) \
$(LIBOSMOGSM_LIBS) \
+ $(LIBOSMOCTRL_LIBS) \
$(LIBOSMOCORE_LIBS) \
$(COMMON_LA)
@@ -113,6 +124,7 @@ app_info_AppInfoTest_LDADD = \
$(top_builddir)/src/libgprs.la \
$(LIBOSMOGB_LIBS) \
$(LIBOSMOGSM_LIBS) \
+ $(LIBOSMOCTRL_LIBS) \
$(LIBOSMOCORE_LIBS) \
$(COMMON_LA)