lists.osmocom.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

gerrit-log

Thread Start a new thread
Download
Threads by month
  • ----- 2026 -----
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
gerrit-log@lists.osmocom.org

April 2023

  • 1 participants
  • 2252 discussions
[S] Change in osmo-ttcn3-hacks[master]: {RAN,BSSAP_LE}_Adapter: Support M3UA without routing context
by pespin 14 Apr '23

14 Apr '23
Attention is currently required from: laforge. pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/32318 ) Change subject: {RAN,BSSAP_LE}_Adapter: Support M3UA without routing context ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/32318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iff849953d923770c93029a6a5c5b86daa8c38f1e Gerrit-Change-Number: 32318 Gerrit-PatchSet: 1 Gerrit-Owner: laforge <laforge(a)osmocom.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Attention: laforge <laforge(a)osmocom.org> Gerrit-Comment-Date: Fri, 14 Apr 2023 18:59:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
[S] Change in osmo-ttcn3-hacks[master]: {RAN,BSSAP_LE}_Adapter: Support M3UA without routing context
by laforge 14 Apr '23

14 Apr '23
laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/32318 ) Change subject: {RAN,BSSAP_LE}_Adapter: Support M3UA without routing context ...................................................................... {RAN,BSSAP_LE}_Adapter: Support M3UA without routing context The 3rd-party M3UA_Emulation supports operation both with and without a routing context. Let's make sure the layers we build on top don't loose that capability by forcing routing context usage. Change-Id: Iff849953d923770c93029a6a5c5b86daa8c38f1e --- M library/BSSAP_LE_Adapter.ttcn M library/RAN_Adapter.ttcnpp 2 files changed, 29 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/18/32318/1 diff --git a/library/BSSAP_LE_Adapter.ttcn b/library/BSSAP_LE_Adapter.ttcn index 256d8fa..a856b04 100644 --- a/library/BSSAP_LE_Adapter.ttcn +++ b/library/BSSAP_LE_Adapter.ttcn @@ -56,7 +56,7 @@ integer peer_pc, integer peer_ssn, octetstring sio, - integer rctx + integer rctx optional }; type record of BSSAP_LE_Configuration BSSAP_LE_Configurations; @@ -84,6 +84,13 @@ ops.sccp_addr_local := ba.sccp_addr_own; ops.sccp_addr_peer := ba.sccp_addr_peer; + var template (omit) integer rctx; + if (not ispresent(cfg.rctx)) { + rtcx := omit; + } else { + rctx := cfg.rctx; + } + /* create components */ ba.vc_SCCP := SCCP_CT.create(id & "-SCCP") alive; if (isvalue(ops)) { @@ -95,7 +102,7 @@ map(ba.vc_M3UA:SCTP_PORT, system:sctp); /* connect MTP3 service provider (M3UA) to lower side of SCCP */ connect(ba.vc_M3UA:MTP3_SP_PORT, ba.vc_SCCP:MTP3_SCCP_PORT); - ba.vc_M3UA.start(f_M3UA_Emulation(cfg.sctp_addr, cfg.rctx)); + ba.vc_M3UA.start(f_M3UA_Emulation(cfg.sctp_addr, rctx)); if (isvalue(ops)) { timer T := 5.0; diff --git a/library/RAN_Adapter.ttcnpp b/library/RAN_Adapter.ttcnpp index 68e1e60..c90ffce 100644 --- a/library/RAN_Adapter.ttcnpp +++ b/library/RAN_Adapter.ttcnpp @@ -100,11 +100,17 @@ } select (cfg.transport) { case (BSSAP_TRANSPORT_AoIP, RANAP_TRANSPORT_IuCS) { + var template (omit) integer rctx; + if (not ispresent(cfg.rctx)) { + rctx := omit; + } else { + rctx := cfg.rctx; + } ba.vc_M3UA := M3UA_CT.create(id & "-M3UA"); map(ba.vc_M3UA:SCTP_PORT, system:sctp); /* connect MTP3 service provider (M3UA) to lower side of SCCP */ connect(ba.vc_M3UA:MTP3_SP_PORT, ba.vc_SCCP:MTP3_SCCP_PORT); - ba.vc_M3UA.start(f_M3UA_Emulation(cfg.sctp_addr, cfg.rctx)); + ba.vc_M3UA.start(f_M3UA_Emulation(cfg.sctp_addr, rctx)); } #ifdef IPA_EMULATION_SCCP case (BSSAP_TRANSPORT_SCCPlite_SERVER) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/32318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iff849953d923770c93029a6a5c5b86daa8c38f1e Gerrit-Change-Number: 32318 Gerrit-PatchSet: 1 Gerrit-Owner: laforge <laforge(a)osmocom.org> Gerrit-MessageType: newchange
1 0
0 0
[M] Change in osmocom-bb[master]: layer23: modem: Forward SNSM primitives SNDCP<->SM layers
by pespin 14 Apr '23

14 Apr '23
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/32296 ) Change subject: layer23: modem: Forward SNSM primitives SNDCP<->SM layers ...................................................................... layer23: modem: Forward SNSM primitives SNDCP<->SM layers Related: OS#5501 Depends: libosmo-gprs.git Change-Id Ic5525bfa92e2591757d999610c0d59849d022d8d Change-Id: Iad63f41557fbd078588dd890e2f18ed9606a25f7 --- M src/host/layer23/src/modem/sm.c M src/host/layer23/src/modem/sndcp.c 2 files changed, 51 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/host/layer23/src/modem/sm.c b/src/host/layer23/src/modem/sm.c index 5dc80e0..67fdc49 100644 --- a/src/host/layer23/src/modem/sm.c +++ b/src/host/layer23/src/modem/sm.c @@ -34,6 +34,8 @@ #include <osmocom/gprs/gmm/gmm.h> #include <osmocom/gprs/gmm/gmm_prim.h> +#include <osmocom/gprs/sndcp/sndcp.h> +#include <osmocom/gprs/sndcp/sndcp_prim.h> #include <osmocom/gprs/sm/sm_prim.h> #include <osmocom/gprs/sm/sm.h> #include <osmocom/gprs/rlcmac/rlcmac_prim.h> @@ -78,6 +80,30 @@ return rc; } +int modem_sm_prim_sndcp_up_cb(struct osmo_gprs_sndcp_prim *sndcp_prim, void *user_data) +{ + const char *pdu_name = osmo_gprs_sndcp_prim_name(sndcp_prim); + int rc; + + switch (sndcp_prim->oph.sap) { + case OSMO_GPRS_SNDCP_SAP_SNSM: + switch (OSMO_PRIM_HDR(&sndcp_prim->oph)) { + case OSMO_PRIM(OSMO_GPRS_SNDCP_SNSM_ACTIVATE, PRIM_OP_INDICATION): + LOGP(DSM, LOGL_INFO, "%s(): Rx %s\n", __func__, pdu_name); + rc = osmo_gprs_sndcp_prim_dispatch_snsm(sndcp_prim); + break; + default: + LOGP(DSM, LOGL_ERROR, "%s(): Unexpected Rx %s\n", __func__, pdu_name); + OSMO_ASSERT(0); + } + break; + default: + LOGP(DSM, LOGL_ERROR, "%s(): Unexpected Rx %s\n", __func__, pdu_name); + OSMO_ASSERT(0); + } + return rc; +} + static int modem_sm_prim_down_cb(struct osmo_gprs_sm_prim *sm_prim, void *user_data) { const char *pdu_name = osmo_gprs_sm_prim_name(sm_prim); @@ -113,6 +139,7 @@ osmo_gprs_sm_set_log_cat(OSMO_GPRS_SM_LOGC_SM, DSM); osmo_gprs_sm_prim_set_up_cb(modem_sm_prim_up_cb, ms); + osmo_gprs_sm_prim_set_sndcp_up_cb(modem_sm_prim_sndcp_up_cb, ms); osmo_gprs_sm_prim_set_down_cb(modem_sm_prim_down_cb, ms); osmo_gprs_sm_prim_set_gmm_down_cb(modem_sm_prim_gmm_down_cb, ms); diff --git a/src/host/layer23/src/modem/sndcp.c b/src/host/layer23/src/modem/sndcp.c index f8710ec..00c21bc 100644 --- a/src/host/layer23/src/modem/sndcp.c +++ b/src/host/layer23/src/modem/sndcp.c @@ -33,6 +33,8 @@ #include <osmocom/gprs/llc/llc.h> #include <osmocom/gprs/llc/llc_prim.h> +#include <osmocom/gprs/sm/sm_prim.h> +#include <osmocom/gprs/sm/sm.h> #include <osmocom/gprs/sndcp/sndcp_prim.h> #include <osmocom/gprs/sndcp/sndcp.h> @@ -132,14 +134,23 @@ static int modem_sndcp_prim_snsm_cb(struct osmo_gprs_sndcp_prim *sndcp_prim, void *user_data) { const char *npdu_name = osmo_gprs_sndcp_prim_name(sndcp_prim); + int rc = 0; if (sndcp_prim->oph.sap != OSMO_GPRS_SNDCP_SAP_SNSM) { LOGP(DSNDCP, LOGL_ERROR, "%s(): Unexpected Rx %s\n", __func__, npdu_name); OSMO_ASSERT(0); } - LOGP(DSNDCP, LOGL_ERROR, "%s(): Rx %s UNIMPLEMENTED\n", __func__, npdu_name); - return 0; + switch (OSMO_PRIM_HDR(&sndcp_prim->oph)) { + case OSMO_PRIM(OSMO_GPRS_SM_SMREG_PDP_ACTIVATE, PRIM_OP_RESPONSE): + LOGP(DSNDCP, LOGL_INFO, "%s(): Rx %s\n", __func__, npdu_name); + rc = osmo_gprs_sm_prim_sndcp_upper_down(sndcp_prim); + break; + default: + LOGP(DSNDCP, LOGL_ERROR, "%s(): Unexpected Rx %s\n", __func__, npdu_name); + OSMO_ASSERT(0); + } + return rc; } -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/32296 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Iad63f41557fbd078588dd890e2f18ed9606a25f7 Gerrit-Change-Number: 32296 Gerrit-PatchSet: 4 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: merged
1 0
0 0
[M] Change in osmocom-bb[master]: layer23: modem: Forward SNSM primitives SNDCP<->SM layers
by pespin 14 Apr '23

14 Apr '23
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/32296 ) Change subject: layer23: modem: Forward SNSM primitives SNDCP<->SM layers ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/32296 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Iad63f41557fbd078588dd890e2f18ed9606a25f7 Gerrit-Change-Number: 32296 Gerrit-PatchSet: 4 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Comment-Date: Fri, 14 Apr 2023 17:07:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
[M] Change in osmocom-bb[master]: layer23: modem: Forward SNSM primitives SNDCP<->SM layers
by pespin 14 Apr '23

14 Apr '23
Attention is currently required from: pespin. Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmocom-bb/+/32296 to look at the new patch set (#4). Change subject: layer23: modem: Forward SNSM primitives SNDCP<->SM layers ...................................................................... layer23: modem: Forward SNSM primitives SNDCP<->SM layers Related: OS#5501 Depends: libosmo-gprs.git Change-Id Ic5525bfa92e2591757d999610c0d59849d022d8d Change-Id: Iad63f41557fbd078588dd890e2f18ed9606a25f7 --- M src/host/layer23/src/modem/sm.c M src/host/layer23/src/modem/sndcp.c 2 files changed, 51 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/96/32296/4 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/32296 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Iad63f41557fbd078588dd890e2f18ed9606a25f7 Gerrit-Change-Number: 32296 Gerrit-PatchSet: 4 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: newpatchset
1 0
0 0
[M] Change in osmocom-bb[master]: layer23: modem: Forward SNSM primitives SNDCP<->SM layers
by pespin 14 Apr '23

14 Apr '23
Attention is currently required from: pespin. Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmocom-bb/+/32296 to look at the new patch set (#3). Change subject: layer23: modem: Forward SNSM primitives SNDCP<->SM layers ...................................................................... layer23: modem: Forward SNSM primitives SNDCP<->SM layers Related: OS#5501 Depends: libosmo-gprs.git Change-Id Ic5525bfa92e2591757d999610c0d59849d022d8d Change-Id: Iad63f41557fbd078588dd890e2f18ed9606a25f7 --- M src/host/layer23/src/modem/sm.c M src/host/layer23/src/modem/sndcp.c 2 files changed, 51 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/96/32296/3 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/32296 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Iad63f41557fbd078588dd890e2f18ed9606a25f7 Gerrit-Change-Number: 32296 Gerrit-PatchSet: 3 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Attention: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: newpatchset
1 0
0 0
[S] Change in osmocom-bb[master]: layer23: modem: sndcp: Apply API change in libosmo-gprs-sndcp
by pespin 14 Apr '23

14 Apr '23
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/32313 ) Change subject: layer23: modem: sndcp: Apply API change in libosmo-gprs-sndcp ...................................................................... layer23: modem: sndcp: Apply API change in libosmo-gprs-sndcp Depends: libosmo-gprs.git Change-Id Iebce37a50917b13c23de1528469d66c310ced7f2 Related: OS#5502 Change-Id: I4f559e4a882a85742c45609dec596f0485eafed0 --- M src/host/layer23/src/modem/sndcp.c 1 file changed, 12 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/host/layer23/src/modem/sndcp.c b/src/host/layer23/src/modem/sndcp.c index ee5380f..f8710ec 100644 --- a/src/host/layer23/src/modem/sndcp.c +++ b/src/host/layer23/src/modem/sndcp.c @@ -146,7 +146,7 @@ int modem_sndcp_init(struct osmocom_ms *ms) { int rc; - rc = osmo_gprs_sndcp_init(); + rc = osmo_gprs_sndcp_init(OSMO_GPRS_SNDCP_LOCATION_MS); if (rc != 0) return rc; -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/32313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I4f559e4a882a85742c45609dec596f0485eafed0 Gerrit-Change-Number: 32313 Gerrit-PatchSet: 2 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: merged
1 0
0 0
[S] Change in osmocom-bb[master]: layer23: modem: sndcp: Apply API change in libosmo-gprs-sndcp
by pespin 14 Apr '23

14 Apr '23
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/32313 ) Change subject: layer23: modem: sndcp: Apply API change in libosmo-gprs-sndcp ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/32313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I4f559e4a882a85742c45609dec596f0485eafed0 Gerrit-Change-Number: 32313 Gerrit-PatchSet: 2 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-Comment-Date: Fri, 14 Apr 2023 16:58:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
1 0
0 0
[S] Change in libosmo-gprs[master]: sm: Fix swapped endianness in struct gprs_sm_pdp_addr
by pespin 14 Apr '23

14 Apr '23
pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-gprs/+/32314 ) Change subject: sm: Fix swapped endianness in struct gprs_sm_pdp_addr ...................................................................... sm: Fix swapped endianness in struct gprs_sm_pdp_addr Change-Id: Icd72bbe6d297bc583097c68d3cf86a616fabd36d --- M include/osmocom/gprs/sm/sm_private.h M tests/sm/sm_prim_test.ok 2 files changed, 16 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/include/osmocom/gprs/sm/sm_private.h b/include/osmocom/gprs/sm/sm_private.h index e599759..7630001 100644 --- a/include/osmocom/gprs/sm/sm_private.h +++ b/include/osmocom/gprs/sm/sm_private.h @@ -43,8 +43,12 @@ struct gprs_sm_pdp_addr { #if OSMO_IS_LITTLE_ENDIAN - uint8_t spare:4, - organization:4; /* enum gprs_sm_pdp_addr_org */ + uint8_t organization:4, /* enum gprs_sm_pdp_addr_org */ + spare:4; +#elif OSMO_IS_BIG_ENDIAN +/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianness.py) */ + uint8_t spare:4, organization:4; +#endif uint8_t type; /* osmo_gprs_sm_pdp_addr_{etsi,ietf}_type */ union { /* IPv4 */ @@ -54,14 +58,6 @@ uint8_t addr6[16]; /* IPv4v6 */ -#elif OSMO_IS_BIG_ENDIAN -/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianness.py) */ - uint8_t organization:4, spare:4; - uint8_t type; - union { - uint32_t addr; - uint8_t addr6[16]; -#endif struct { uint32_t addr; uint8_t addr6[16]; diff --git a/tests/sm/sm_prim_test.ok b/tests/sm/sm_prim_test.ok index 82d4a97..fda8573 100644 --- a/tests/sm/sm_prim_test.ok +++ b/tests/sm/sm_prim_test.ok @@ -1,5 +1,5 @@ ==== test_sm_prim_ms() [start] ==== test_sm_prim_gmm_down_cb(): Rx GMMSM-ESTABLISH.request sess_id=0 -test_sm_prim_gmm_down_cb(): Rx GMMSM-UNITDATA.request sess_id=0 SMPDU=[8a 41 06 03 01 00 06 10 21 00 00 00 00 28 04 27 01 00 ] +test_sm_prim_gmm_down_cb(): Rx GMMSM-UNITDATA.request sess_id=0 SMPDU=[8a 41 06 03 01 00 06 01 21 00 00 00 00 28 04 27 01 00 ] test_sm_prim_up_cb(): Rx SMREG-PDP_ACTIVATE.confirm ==== test_sm_prim_ms() [end] ==== -- To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/32314 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-gprs Gerrit-Branch: master Gerrit-Change-Id: Icd72bbe6d297bc583097c68d3cf86a616fabd36d Gerrit-Change-Number: 32314 Gerrit-PatchSet: 2 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: merged
1 0
0 0
[M] Change in libosmo-gprs[master]: sm: Start using SNSM SAP
by pespin 14 Apr '23

14 Apr '23
pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-gprs/+/32295 ) Change subject: sm: Start using SNSM SAP ...................................................................... sm: Start using SNSM SAP Related: OS#5501 Change-Id: Ic5525bfa92e2591757d999610c0d59849d022d8d --- M include/osmocom/gprs/sm/sm_ms_fsm.h M include/osmocom/gprs/sm/sm_prim.h M include/osmocom/gprs/sm/sm_private.h M libosmo-gprs-sm.pc.in M src/sm/Makefile.am M src/sm/sm.c M src/sm/sm_ms_fsm.c M src/sm/sm_prim.c M tests/sm/Makefile.am M tests/sm/sm_prim_test.c M tests/sm/sm_prim_test.err M tests/sm/sm_prim_test.ok 12 files changed, 216 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/include/osmocom/gprs/sm/sm_ms_fsm.h b/include/osmocom/gprs/sm/sm_ms_fsm.h index 3970d73..d1d4689 100644 --- a/include/osmocom/gprs/sm/sm_ms_fsm.h +++ b/include/osmocom/gprs/sm/sm_ms_fsm.h @@ -22,6 +22,7 @@ GPRS_SM_MS_EV_TX_ACT_PDP_CTX_REQ, GPRS_SM_MS_EV_RX_ACT_PDP_CTX_REJ, /* data: enum gsm48_gsm_cause *cause */ GPRS_SM_MS_EV_RX_ACT_PDP_CTX_ACC, + GPRS_SM_MS_EV_NSAPI_ACTIVATED, GPRS_SM_MS_EV_TX_DEACT_PDP_CTX_REQ, GPRS_SM_MS_EV_RX_DEACT_PDP_CTX_REQ, GPRS_SM_MS_EV_RX_DEACT_PDP_CTX_ACC, diff --git a/include/osmocom/gprs/sm/sm_prim.h b/include/osmocom/gprs/sm/sm_prim.h index 57fc32e..575ea80 100644 --- a/include/osmocom/gprs/sm/sm_prim.h +++ b/include/osmocom/gprs/sm/sm_prim.h @@ -18,6 +18,7 @@ struct osmo_gprs_gmm_prim; +struct osmo_gprs_sndcp_prim; /* 3GPP TS 24.007 */ enum osmo_gprs_sm_prim_sap { @@ -191,6 +192,9 @@ typedef int (*osmo_gprs_sm_prim_up_cb)(struct osmo_gprs_sm_prim *sm_prim, void *up_user_data); void osmo_gprs_sm_prim_set_up_cb(osmo_gprs_sm_prim_up_cb up_cb, void *up_user_data); +typedef int (*osmo_gprs_sm_prim_sndcp_up_cb)(struct osmo_gprs_sndcp_prim *sndcp_prim, void *sndcp_up_user_data); +void osmo_gprs_sm_prim_set_sndcp_up_cb(osmo_gprs_sm_prim_sndcp_up_cb sndcp_up_cb, void *sndcp_up_user_data); + typedef int (*osmo_gprs_sm_prim_down_cb)(struct osmo_gprs_sm_prim *sm_prim, void *down_user_data); void osmo_gprs_sm_prim_set_down_cb(osmo_gprs_sm_prim_down_cb down_cb, void *down_user_data); @@ -198,6 +202,7 @@ void osmo_gprs_sm_prim_set_gmm_down_cb(osmo_gprs_sm_prim_gmm_down_cb gmm_down_cb, void *gmm_down_user_data); int osmo_gprs_sm_prim_upper_down(struct osmo_gprs_sm_prim *sm_prim); +int osmo_gprs_sm_prim_sndcp_upper_down(struct osmo_gprs_sndcp_prim *sndcp_prim); int osmo_gprs_sm_prim_lower_up(struct osmo_gprs_sm_prim *sm_prim); int osmo_gprs_sm_prim_gmm_lower_up(struct osmo_gprs_gmm_prim *gmm_prim); diff --git a/include/osmocom/gprs/sm/sm_private.h b/include/osmocom/gprs/sm/sm_private.h index 7630001..751123f 100644 --- a/include/osmocom/gprs/sm/sm_private.h +++ b/include/osmocom/gprs/sm/sm_private.h @@ -72,6 +72,9 @@ osmo_gprs_sm_prim_up_cb sm_up_cb; void *sm_up_cb_user_data; + osmo_gprs_sm_prim_sndcp_up_cb sm_sndcp_up_cb; + void *sm_sndcp_up_cb_user_data; + osmo_gprs_sm_prim_down_cb sm_down_cb; void *sm_down_cb_user_data; @@ -145,6 +148,7 @@ int gprs_sm_prim_call_up_cb(struct osmo_gprs_sm_prim *sm_prim); int gprs_sm_prim_call_down_cb(struct osmo_gprs_sm_prim *sm_prim); int gprs_sm_prim_call_gmm_down_cb(struct osmo_gprs_gmm_prim *gmm_prim); +int gprs_sm_prim_call_sndcp_up_cb(struct osmo_gprs_sndcp_prim *sndcp_prim); struct osmo_gprs_sm_prim *gprs_sm_prim_alloc_smreg_pdp_act_cnf(void); struct osmo_gprs_sm_prim *gprs_sm_prim_alloc_smreg_pdp_act_ind(void); @@ -153,6 +157,7 @@ struct gprs_sm_ms *gprs_sm_ms_alloc(uint32_t ms_id); void gprs_sm_ms_free(struct gprs_sm_ms *ms); struct gprs_sm_ms *gprs_sm_find_ms_by_id(uint32_t ms_id); +struct gprs_sm_ms *gprs_sm_find_ms_by_tlli(uint32_t tlli); struct gprs_sm_entity *gprs_sm_entity_alloc(struct gprs_sm_ms *ms, uint32_t nsapi); void gprs_sm_entity_free(struct gprs_sm_entity *sme); @@ -160,6 +165,7 @@ int gprs_sm_submit_gmmsm_assign_req(const struct gprs_sm_entity *sme); int gprs_sm_submit_smreg_pdp_act_cnf(const struct gprs_sm_entity *sme, enum gsm48_gsm_cause cause); +int gprs_sm_submit_snsm_act_ind(const struct gprs_sm_entity *sme); int gprs_sm_tx_act_pdp_ctx_req(struct gprs_sm_entity *sme); int gprs_sm_rx(struct gprs_sm_entity *sme, struct gsm48_hdr *gh, unsigned int len); diff --git a/libosmo-gprs-sm.pc.in b/libosmo-gprs-sm.pc.in index 85158f1..95d5b2b 100644 --- a/libosmo-gprs-sm.pc.in +++ b/libosmo-gprs-sm.pc.in @@ -6,7 +6,7 @@ Name: Osmocom [E]GPRS SM (Session Management) Library Description: C Utility Library Version: @VERSION@ -Requires: libosmo-gprs-gmm libosmocore +Requires: libosmo-gprs-gmm libosmo-gprs-sndcp libosmocore Libs: -L${libdir} -losmo-gprs-sm Libs.private: -ltalloc Cflags: -I${includedir}/ diff --git a/src/sm/Makefile.am b/src/sm/Makefile.am index 8fb9090..ecd8ba3 100644 --- a/src/sm/Makefile.am +++ b/src/sm/Makefile.am @@ -34,6 +34,7 @@ libosmo_gprs_sm_la_LIBADD = \ $(top_builddir)/src/gmm/libosmo-gprs-gmm.la \ + $(top_builddir)/src/sndcp/libosmo-gprs-sndcp.la \ $(LIBOSMOCORE_LIBS) \ $(LIBOSMOGSM_LIBS) \ -lm \ diff --git a/src/sm/sm.c b/src/sm/sm.c index c83e739..b3d65da 100644 --- a/src/sm/sm.c +++ b/src/sm/sm.c @@ -27,6 +27,8 @@ #include <osmocom/core/tdef.h> #include <osmocom/gsm/protocol/gsm_04_08_gprs.h> +#include <osmocom/gprs/sndcp/sndcp_prim.h> + #include <osmocom/gprs/sm/sm.h> #include <osmocom/gprs/sm/sm_prim.h> #include <osmocom/gprs/sm/sm_private.h> @@ -120,6 +122,17 @@ return NULL; } +struct gprs_sm_ms *gprs_sm_find_ms_by_tlli(uint32_t tlli) +{ + struct gprs_sm_ms *ms; + + llist_for_each_entry(ms, &g_sm_ctx->ms_list, list) { + if (ms->gmm.ptmsi == tlli) + return ms; + } + return NULL; +} + struct gprs_sm_entity *gprs_sm_entity_alloc(struct gprs_sm_ms *ms, uint32_t nsapi) { struct gprs_sm_entity *sme; @@ -202,6 +215,23 @@ return rc; } + +int gprs_sm_submit_snsm_act_ind(const struct gprs_sm_entity *sme) +{ + struct osmo_gprs_sndcp_prim *sndcp_prim_tx; + int rc; + + sndcp_prim_tx = osmo_gprs_sndcp_prim_alloc_snsm_activate_ind( + sme->ms->gmm.ptmsi, + sme->nsapi, + sme->llc_sapi); + //sndcp_prim_tx->snsm.activat_ind.qos_params = ; /* TODO */ + //sndcp_prim_tx->snsm.activat_ind.radio_prio = 0; /* TODO */ + + rc = gprs_sm_prim_call_sndcp_up_cb(sndcp_prim_tx); + return rc; +} + /* Tx SM Activate PDP context request, 9.5.1 */ int gprs_sm_tx_act_pdp_ctx_req(struct gprs_sm_entity *sme) { diff --git a/src/sm/sm_ms_fsm.c b/src/sm/sm_ms_fsm.c index 92137c4..297e81c 100644 --- a/src/sm/sm_ms_fsm.c +++ b/src/sm/sm_ms_fsm.c @@ -75,6 +75,13 @@ gprs_sm_submit_smreg_pdp_act_cnf(ctx->sme, *((enum gsm48_gsm_cause *)data)); break; case GPRS_SM_MS_EV_RX_ACT_PDP_CTX_ACC: + gprs_sm_submit_snsm_act_ind(ctx->sme); + /* Submitting SMREG-PDP-ACT-CNF is delayed until , + * SNSM-ACTIVATE-RSP (GPRS_SM_MS_EV_NSAPI_ACTIVATED) is received + * from SNDCP, see TS 24.007 C.6 */ + break; + case GPRS_SM_MS_EV_NSAPI_ACTIVATED: + /* see TS 24.007 C.6 */ sm_ms_fsm_state_chg(fi, GPRS_SM_MS_ST_PDP_ACTIVE); gprs_sm_submit_smreg_pdp_act_cnf(ctx->sme, (enum gsm48_gsm_cause)0); break; @@ -176,7 +183,8 @@ X(GPRS_SM_MS_EV_RX_GMM_ESTABLISH_CNF) | X(GPRS_SM_MS_EV_RX_GMM_ESTABLISH_REJ) | X(GPRS_SM_MS_EV_RX_ACT_PDP_CTX_REJ) | - X(GPRS_SM_MS_EV_RX_ACT_PDP_CTX_ACC), + X(GPRS_SM_MS_EV_RX_ACT_PDP_CTX_ACC) | + X(GPRS_SM_MS_EV_NSAPI_ACTIVATED), .out_state_mask = X(GPRS_SM_MS_ST_PDP_INACTIVE) | X(GPRS_SM_MS_ST_PDP_ACTIVE_PENDING) | @@ -225,6 +233,7 @@ { GPRS_SM_MS_EV_TX_ACT_PDP_CTX_REQ, "TX_ACT_PDP_CTX_REQ" }, { GPRS_SM_MS_EV_RX_ACT_PDP_CTX_REJ, "RX_ACT_PDP_CTX_REJ" }, { GPRS_SM_MS_EV_RX_ACT_PDP_CTX_ACC, "RX_ACT_PDP_CTX_ACC" }, + { GPRS_SM_MS_EV_NSAPI_ACTIVATED, "NSAPI_ACTIVATED" }, { GPRS_SM_MS_EV_TX_DEACT_PDP_CTX_REQ, "TX_DEACT_PDP_CTX_REQ" }, { GPRS_SM_MS_EV_RX_DEACT_PDP_CTX_REQ, "RX_DEACT_PDP_CTX_REQ" }, { GPRS_SM_MS_EV_RX_DEACT_PDP_CTX_ACC, "RX_DEACT_PDP_CTX_ACC" }, diff --git a/src/sm/sm_prim.c b/src/sm/sm_prim.c index 33d15ba..6ec8af8 100644 --- a/src/sm/sm_prim.c +++ b/src/sm/sm_prim.c @@ -30,6 +30,7 @@ #include <osmocom/gprs/sm/sm_prim.h> #include <osmocom/gprs/sm/sm_private.h> #include <osmocom/gprs/gmm/gmm_prim.h> +#include <osmocom/gprs/sndcp/sndcp_prim.h> #define SM_MSGB_HEADROOM 0 @@ -72,6 +73,12 @@ return 0; } +static int sm_sndcp_up_cb_dummy(struct osmo_gprs_sndcp_prim *sndcp_prim, void *user_data) +{ + LOGSM(LOGL_INFO, "%s(%s)\n", __func__, osmo_gprs_sndcp_prim_name(sndcp_prim)); + return 0; +} + static int sm_down_cb_dummy(struct osmo_gprs_sm_prim *sm_prim, void *user_data) { LOGSM(LOGL_INFO, "%s(%s)\n", __func__, osmo_gprs_sm_prim_name(sm_prim)); @@ -91,6 +98,13 @@ g_sm_ctx->sm_up_cb_user_data = up_user_data; } +/* Set callback used by SM layer to push primitives to SNDCP higher layer in protocol stack */ +void osmo_gprs_sm_prim_set_sndcp_up_cb(osmo_gprs_sm_prim_sndcp_up_cb sndcp_up_cb, void *sndcp_up_user_data) +{ + g_sm_ctx->sm_sndcp_up_cb = sndcp_up_cb; + g_sm_ctx->sm_sndcp_up_cb_user_data = sndcp_up_user_data; +} + /* Set callback used by SM layer to push primitives to lower layers in protocol stack */ void osmo_gprs_sm_prim_set_down_cb(osmo_gprs_sm_prim_down_cb down_cb, void *down_user_data) { @@ -186,6 +200,13 @@ return -ENOTSUP; } +static int gprs_sm_prim_handle_sndcp_unsupported(struct osmo_gprs_sndcp_prim *sndcp_prim) +{ + LOGSM(LOGL_ERROR, "Unsupported sndcp_prim! %s\n", osmo_gprs_sndcp_prim_name(sndcp_prim)); + msgb_free(sndcp_prim->oph.msg); + return -ENOTSUP; +} + /******************************** * Handling from/to upper layers: ********************************/ @@ -297,6 +318,93 @@ return rc; } +/* SM layer pushes SNDCP primitive up to higher layers (SNSM): */ +int gprs_sm_prim_call_sndcp_up_cb(struct osmo_gprs_sndcp_prim *sndcp_prim) +{ + int rc; + if (g_sm_ctx->sm_sndcp_up_cb) + rc = g_sm_ctx->sm_sndcp_up_cb(sndcp_prim, g_sm_ctx->sm_sndcp_up_cb_user_data); + else + rc = sm_sndcp_up_cb_dummy(sndcp_prim, g_sm_ctx->sm_sndcp_up_cb_user_data); + /* Special return value '1' means: do not free */ + if (rc != 1) + msgb_free(sndcp_prim->oph.msg); + else + rc = 0; + return rc; +} + +/* TS 24.007 6.6.1.1 SMREG-Attach.request:*/ +static int gprs_sm_prim_handle_snsm_act_resp(struct osmo_gprs_sndcp_prim *sndcp_prim) +{ + int rc; + struct gprs_sm_ms *ms; + struct gprs_sm_entity *sme; + + ms = gprs_sm_find_ms_by_tlli(sndcp_prim->snsm.tlli); + if (!ms) { + LOGSM(LOGL_ERROR, "Rx %s: Unable to find MS with TLLI=0x%08x\n", + osmo_gprs_sndcp_prim_name(sndcp_prim), sndcp_prim->snsm.tlli); + return -ENOENT; + } + + sme = gprs_sm_ms_get_pdp_ctx(ms, sndcp_prim->snsm.activate_rsp.nsapi); + if (!sme) { + LOGMS(ms, LOGL_ERROR, "Rx %s: Unable to find NSAPI=%u\n", + osmo_gprs_sndcp_prim_name(sndcp_prim), + sndcp_prim->snsm.activate_rsp.nsapi); + return -ENOENT; + } + + rc = osmo_fsm_inst_dispatch(sme->ms_fsm.fi, GPRS_SM_MS_EV_NSAPI_ACTIVATED, NULL); + return rc; +} + +/* SNDCP higher layers push SNDCP primitive (SNSM) down to SM layer: */ +static int gprs_sm_prim_handle_sndcp_snsm(struct osmo_gprs_sndcp_prim *sndcp_prim) +{ + int rc; + + switch (OSMO_PRIM_HDR(&sndcp_prim->oph)) { + case OSMO_PRIM(OSMO_GPRS_SNDCP_SNSM_ACTIVATE, PRIM_OP_RESPONSE): + rc = gprs_sm_prim_handle_snsm_act_resp(sndcp_prim); + break; + case OSMO_PRIM(OSMO_GPRS_SNDCP_SNSM_DEACTIVATE, PRIM_OP_RESPONSE): + case OSMO_PRIM(OSMO_GPRS_SNDCP_SNSM_MODIFY, PRIM_OP_RESPONSE): + case OSMO_PRIM(OSMO_GPRS_SNDCP_SNSM_STATUS, PRIM_OP_REQUEST): + case OSMO_PRIM(OSMO_GPRS_SNDCP_SNSM_SEQUENCE, PRIM_OP_RESPONSE): + case OSMO_PRIM(OSMO_GPRS_SNDCP_SNSM_STOP_ASSIGN, PRIM_OP_RESPONSE): + default: + rc = gprs_sm_prim_handle_sndcp_unsupported(sndcp_prim); + } + return rc; +} + +/* SM higher layers push SM primitive down to SM layer: */ +int osmo_gprs_sm_prim_sndcp_upper_down(struct osmo_gprs_sndcp_prim *sndcp_prim) +{ + int rc; + + LOGSM(LOGL_INFO, "Rx from SNDCP layer: %s\n", osmo_gprs_sndcp_prim_name(sndcp_prim)); + + + switch (sndcp_prim->oph.sap) { + case OSMO_GPRS_SNDCP_SAP_SNSM: + rc = gprs_sm_prim_handle_sndcp_snsm(sndcp_prim); + break; + default: + rc = gprs_sm_prim_handle_sndcp_unsupported(sndcp_prim); + rc = 1; + } + + /* Special return value '1' means: do not free */ + if (rc != 1) + msgb_free(sndcp_prim->oph.msg); + else + rc = 0; + return rc; +} + /******************************** * Handling from/to lower layers: ********************************/ diff --git a/tests/sm/Makefile.am b/tests/sm/Makefile.am index f9df676..af381de 100644 --- a/tests/sm/Makefile.am +++ b/tests/sm/Makefile.am @@ -21,13 +21,16 @@ sm_prim_test.ok \ $(NULL) -# libosmo-gprs-gmm.a is used below to access non-exported private symbols used in the test: +# libosmo-gprs-{gmm,sndcp}.a are used below to access non-exported private symbols used in the test: # libosmo-gprs-gmm.a requires libosmo-gprs-llc.la +# libosmo-gprs-sndcp.a requires libosmo-gprs-llc.la, -lm sm_prim_test_SOURCES = sm_prim_test.c sm_prim_test_LDADD = \ $(top_builddir)/src/sm/libosmo-gprs-sm.la \ + $(top_builddir)/src/sndcp/.libs/libosmo-gprs-sndcp.a \ $(top_builddir)/src/gmm/.libs/libosmo-gprs-gmm.a \ $(top_builddir)/src/llc/.libs/libosmo-gprs-llc.la \ $(LIBOSMOGSM_LIBS) \ $(LIBOSMOCORE_LIBS) \ + -lm \ $(NULL) diff --git a/tests/sm/sm_prim_test.c b/tests/sm/sm_prim_test.c index 5703985..a217b25 100644 --- a/tests/sm/sm_prim_test.c +++ b/tests/sm/sm_prim_test.c @@ -31,6 +31,8 @@ #include <osmocom/gprs/gmm/gmm_prim.h> #include <osmocom/gprs/gmm/gmm_private.h> +#include <osmocom/gprs/sndcp/sndcp_prim.h> +#include <osmocom/gprs/sndcp/sndcp_private.h> #include <osmocom/gprs/sm/sm.h> #include <osmocom/gprs/sm/sm_prim.h> @@ -130,7 +132,29 @@ break; default: printf("%s(): Unexpected Rx %s\n", __func__, pdu_name); - OSMO_ASSERT(0) + OSMO_ASSERT(0); + } + break; + default: + printf("%s(): Unexpected Rx %s\n", __func__, pdu_name); + OSMO_ASSERT(0); + } + return 0; +} + +int test_sm_prim_sndcp_up_cb(struct osmo_gprs_sndcp_prim *sndcp_prim, void *user_data) +{ + const char *pdu_name = osmo_gprs_sndcp_prim_name(sndcp_prim); + + switch (sndcp_prim->oph.sap) { + case OSMO_GPRS_SNDCP_SAP_SNSM: + switch (OSMO_PRIM_HDR(&sndcp_prim->oph)) { + case OSMO_PRIM(OSMO_GPRS_SNDCP_SNSM_ACTIVATE, PRIM_OP_INDICATION): + printf("%s(): Rx %s\n", __func__, pdu_name); + break; + default: + printf("%s(): Unexpected Rx %s\n", __func__, pdu_name); + OSMO_ASSERT(0); } break; default: @@ -152,7 +176,7 @@ break; default: printf("%s(): Unexpected Rx %s\n", __func__, pdu_name); - OSMO_ASSERT(0) + OSMO_ASSERT(0); } break; default: @@ -199,6 +223,7 @@ { struct osmo_gprs_sm_prim *sm_prim; struct osmo_gprs_gmm_prim *gmm_prim; + struct osmo_gprs_sndcp_prim *sndcp_prim; int rc; uint8_t nsapi = 6; enum osmo_gprs_sm_llc_sapi llc_sapi = OSMO_GPRS_SM_LLC_SAPI_SAPI3; @@ -217,6 +242,7 @@ OSMO_ASSERT(rc == 0); osmo_gprs_sm_prim_set_up_cb(test_sm_prim_up_cb, NULL); + osmo_gprs_sm_prim_set_sndcp_up_cb(test_sm_prim_sndcp_up_cb, NULL); osmo_gprs_sm_prim_set_down_cb(test_sm_prim_down_cb, NULL); osmo_gprs_sm_prim_set_gmm_down_cb(test_sm_prim_gmm_down_cb, NULL); @@ -254,6 +280,15 @@ rc = osmo_gprs_sm_prim_gmm_lower_up(gmm_prim); OSMO_ASSERT(rc == 0); + /* SM layer will trigger SNSM-ACTIVATE.ind to SNDCP layer here. Now, + * SNDCP is expected to do XID config and once done, answer with + * SNSM-ACTIVATE.rsp: */ + + sndcp_prim = gprs_sndcp_prim_alloc_snsm_activate_rsp(ptmsi, nsapi); + OSMO_ASSERT(sndcp_prim); + rc = osmo_gprs_sm_prim_sndcp_upper_down(sndcp_prim); + OSMO_ASSERT(rc == 0); + printf("==== %s() [end] ====\n", __func__); } diff --git a/tests/sm/sm_prim_test.err b/tests/sm/sm_prim_test.err index d9dc296..0961fc1 100644 --- a/tests/sm/sm_prim_test.err +++ b/tests/sm/sm_prim_test.err @@ -8,4 +8,6 @@ DLGLOBAL INFO Rx from lower layers: GMMSM-UNITDATA.indication DLGLOBAL INFO PDP(ID-0:NSAPI-6) Rx SM Activate PDP Context Accept DLGLOBAL INFO SM_MS{PDP_ACTIVE_PENDING}: Received Event RX_ACT_PDP_CTX_ACC +DLGLOBAL INFO Rx from SNDCP layer: SNSM-ACTIVATE.response +DLGLOBAL INFO SM_MS{PDP_ACTIVE_PENDING}: Received Event NSAPI_ACTIVATED DLGLOBAL INFO SM_MS{PDP_ACTIVE_PENDING}: state_chg to PDP_ACTIVE diff --git a/tests/sm/sm_prim_test.ok b/tests/sm/sm_prim_test.ok index fda8573..0ea44bb 100644 --- a/tests/sm/sm_prim_test.ok +++ b/tests/sm/sm_prim_test.ok @@ -1,5 +1,6 @@ ==== test_sm_prim_ms() [start] ==== test_sm_prim_gmm_down_cb(): Rx GMMSM-ESTABLISH.request sess_id=0 test_sm_prim_gmm_down_cb(): Rx GMMSM-UNITDATA.request sess_id=0 SMPDU=[8a 41 06 03 01 00 06 01 21 00 00 00 00 28 04 27 01 00 ] +test_sm_prim_sndcp_up_cb(): Rx SNSM-ACTIVATE.indication test_sm_prim_up_cb(): Rx SMREG-PDP_ACTIVATE.confirm ==== test_sm_prim_ms() [end] ==== -- To view, visit https://gerrit.osmocom.org/c/libosmo-gprs/+/32295 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-gprs Gerrit-Branch: master Gerrit-Change-Id: Ic5525bfa92e2591757d999610c0d59849d022d8d Gerrit-Change-Number: 32295 Gerrit-PatchSet: 7 Gerrit-Owner: pespin <pespin(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin <pespin(a)sysmocom.de> Gerrit-MessageType: merged
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • ...
  • 226
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.