lists.osmocom.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2025
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
List overview
Download
gerrit-log
April 2023
----- 2025 -----
June 2025
May 2025
April 2025
March 2025
February 2025
January 2025
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
gerrit-log@lists.osmocom.org
1 participants
2252 discussions
Start a n
N
ew thread
[S] Change in osmo-ttcn3-hacks[master]: {RAN,BSSAP_LE}_Adapter: Support M3UA without routing context
by pespin
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
2 years, 2 months
1
0
0
0
[S] Change in osmo-ttcn3-hacks[master]: {RAN,BSSAP_LE}_Adapter: Support M3UA without routing context
by laforge
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
2 years, 2 months
1
0
0
0
[M] Change in osmocom-bb[master]: layer23: modem: Forward SNSM primitives SNDCP<->SM layers
by pespin
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
2 years, 2 months
1
0
0
0
[M] Change in osmocom-bb[master]: layer23: modem: Forward SNSM primitives SNDCP<->SM layers
by pespin
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
2 years, 2 months
1
0
0
0
[M] Change in osmocom-bb[master]: layer23: modem: Forward SNSM primitives SNDCP<->SM layers
by pespin
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
2 years, 2 months
1
0
0
0
[M] Change in osmocom-bb[master]: layer23: modem: Forward SNSM primitives SNDCP<->SM layers
by pespin
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
2 years, 2 months
1
0
0
0
[S] Change in osmocom-bb[master]: layer23: modem: sndcp: Apply API change in libosmo-gprs-sndcp
by pespin
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
2 years, 2 months
1
0
0
0
[S] Change in osmocom-bb[master]: layer23: modem: sndcp: Apply API change in libosmo-gprs-sndcp
by pespin
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
2 years, 2 months
1
0
0
0
[S] Change in libosmo-gprs[master]: sm: Fix swapped endianness in struct gprs_sm_pdp_addr
by pespin
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
2 years, 2 months
1
0
0
0
[M] Change in libosmo-gprs[master]: sm: Start using SNSM SAP
by pespin
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
2 years, 2 months
1
0
0
0
← Newer
1
...
153
154
155
156
157
158
159
...
226
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
Results per page:
10
25
50
100
200