Attention is currently required from: pespin.
osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/31726 )
Change subject: build/Makefile.common.inc: unset OSMO_REPOSITORY
......................................................................
Patch Set 1:
(1 comment)
Commit Message:
https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/31726/comment/29ee67af_3cec…
PS1, Line 9: Instead of checking whether OSMO_REPOSITORY is empty, check if it has
> I'm not sure I'm following the logic here. […]
Very good point! I somehow assumed removing the default will lead to problems in other places where OSMO_REPOSITORY was used, but that's not the case. Updated the patch.
--
To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/31726
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-gsm-manuals
Gerrit-Branch: master
Gerrit-Change-Id: Ie21d58dd57a893a83f566eea464ab3eec82b67a4
Gerrit-Change-Number: 31726
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 07 Mar 2023 15:01:01 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: comment
Attention is currently required from: osmith.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/31726
to look at the new patch set (#2).
Change subject: build/Makefile.common.inc: unset OSMO_REPOSITORY
......................................................................
build/Makefile.common.inc: unset OSMO_REPOSITORY
Don't have a default value for OSMO_REPOSITORY, as this leads to manuals
getting uploaded to the wrong directory (publish) target and installed
to the wrong directory (install, uninstall).
Add checks to ensure the variable is set before using it in install and
uninstall.
Related: OS#5902
Change-Id: Ie21d58dd57a893a83f566eea464ab3eec82b67a4
---
M build/Makefile.common.inc
M tests/Makefile.am
2 files changed, 20 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/26/31726/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/31726
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-gsm-manuals
Gerrit-Branch: master
Gerrit-Change-Id: Ie21d58dd57a893a83f566eea464ab3eec82b67a4
Gerrit-Change-Number: 31726
Gerrit-PatchSet: 2
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-MessageType: newpatchset
dexter has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/31145 )
Change subject: bts: add IMMEDIATE ASSIGNMENT via PCH transmission
......................................................................
bts: add IMMEDIATE ASSIGNMENT via PCH transmission
In situations where the PCU is co-located to the BSC, the IMMEDIATE ASSIGNMENT
for downlink TBFs must be sent via RSL and the BSC also must instruct the BTS
to transmit the IMMEDIATE ASSIGNMENT via PCH instead of AGCH. Eventually the
BSC must sent a confirmation message (follow-up patch) where the TLLI is used
as an identifer.
This new method will eventually replace the previous method that uses
the MAC block as an identifier. To remain compatible with older versions
of osmo-bsc, we will keep the old method until osmo-bts is migrated as
well.
This patch also requires new features to be added to the PCU socket
interface the version number of the protocol is incremented from 0x0a to
0x0b. Version 0x0a will remain compatible and use the old method, while
version 0x0b will use the new method introduced with this patch.
Change-Id: I2a78651593323e8b9627c39918d949a33497b70f
Related: OS#5198
---
M include/osmocom/pcu/pcuif_proto.h
M src/bts.cpp
M src/gprs_pcu.h
M src/pcu_l1_if.cpp
M src/pcu_l1_if.h
5 files changed, 77 insertions(+), 7 deletions(-)
Approvals:
Jenkins Builder: Verified
pespin: Looks good to me, but someone else must approve
laforge: Looks good to me, approved
diff --git a/include/osmocom/pcu/pcuif_proto.h b/include/osmocom/pcu/pcuif_proto.h
index 693a1d5..1dda160 100644
--- a/include/osmocom/pcu/pcuif_proto.h
+++ b/include/osmocom/pcu/pcuif_proto.h
@@ -3,10 +3,12 @@
#include <osmocom/gsm/l1sap.h>
#include <arpa/inet.h>
+#include <osmocom/gsm/protocol/gsm_04_08.h>
+#include <osmocom/gsm/protocol/gsm_23_003.h>
#define PCU_SOCK_DEFAULT "/tmp/pcu_bts"
-#define PCU_IF_VERSION 0x0a
+#define PCU_IF_VERSION 0x0b
#define TXT_MAX_LEN 128
/* msg_type */
@@ -269,6 +271,17 @@
} cgi_ps;
} __attribute__ ((packed));
+/* Struct to send a (confirmed) IMMEDIATE ASSIGNMENT message via PCH. The struct is sent as a data request
+ * (data_req) under SAPI PCU_IF_SAPI_PCH_DT. */
+struct gsm_pcu_if_pch_dt {
+ /* TLLI as reference for confirmation */
+ uint32_t tlli;
+ /* IMSI (to derive paging group) */
+ char imsi[OSMO_IMSI_BUF_SIZE];
+ /* GSM mac-block (with immediate assignment message) */
+ uint8_t data[GSM_MACBLOCK_LEN];
+} __attribute__((packed));
+
struct gsm_pcu_if {
/* context based information */
uint8_t msg_type; /* message type */
diff --git a/src/bts.cpp b/src/bts.cpp
index 33ad4a6..504ba27 100644
--- a/src/bts.cpp
+++ b/src/bts.cpp
@@ -1103,7 +1103,6 @@
void bts_snd_dl_ass(struct gprs_rlcmac_bts *bts, const struct gprs_rlcmac_dl_tbf *tbf)
{
- uint16_t pgroup = ms_paging_group(tbf_ms(tbf));
int plen;
const struct gprs_rlcmac_pdch *pdch;
@@ -1129,7 +1128,10 @@
GSM_L1_BURST_TYPE_ACCESS_0);
if (plen >= 0) {
bts_do_rate_ctr_inc(bts, CTR_IMMEDIATE_ASSIGN_DL_TBF);
- pcu_l1if_tx_pch(bts, immediate_assignment, plen, pgroup);
+ if (the_pcu->pcu_if_version >= 0x0b)
+ pcu_l1if_tx_pch_dt(bts, immediate_assignment, plen, tbf->imsi(), tbf->tlli());
+ else
+ pcu_l1if_tx_pch(bts, immediate_assignment, plen, ms_paging_group(tbf_ms(tbf)));
}
bitvec_free(immediate_assignment);
diff --git a/src/gprs_pcu.h b/src/gprs_pcu.h
index a9e40ea..ca52c30 100644
--- a/src/gprs_pcu.h
+++ b/src/gprs_pcu.h
@@ -134,6 +134,8 @@
struct si_cache *si_cache; /* ARFC+BSIC -> CGI PS cache */
struct osmo_timer_list update_stats_timer; /* Used to update some time_cc stats periodically */
+
+ uint8_t pcu_if_version;
};
diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp
index 6c4ed22..14cc778 100644
--- a/src/pcu_l1_if.cpp
+++ b/src/pcu_l1_if.cpp
@@ -294,6 +294,24 @@
pcu_tx_data_req(bts, 0, 0, PCU_IF_SAPI_PCH, 0, 0, 0, data, sizeof(data));
}
+/* Send a block via the paging channel and require a confirmation by the receiving end */
+void pcu_l1if_tx_pch_dt(struct gprs_rlcmac_bts *bts, bitvec *block, int plen, const char *imsi, uint32_t tlli)
+{
+ /* NOTE: This is in practice only used to transmit IMMEDIATE ASSIGNMENT messages through the paging channel and
+ * it is not guaranteed to work with other message types. The prepended TLLI will be used as an identifier in
+ * the confirmation message. */
+
+ struct gsm_pcu_if_pch_dt pch_dt;
+
+ pch_dt.tlli = tlli;
+ strcpy(pch_dt.imsi, imsi);
+
+ pch_dt.data[0] = (plen << 2) | 0x01;
+ bitvec_pack(block, pch_dt.data + 1);
+
+ pcu_tx_data_req(bts, 0, 0, PCU_IF_SAPI_PCH_DT, 0, 0, 0, (uint8_t*)&pch_dt, sizeof(pch_dt));
+}
+
int pcu_tx_neigh_addr_res_req(struct gprs_rlcmac_bts *bts, const struct neigh_cache_entry_key *neigh_key)
{
struct msgb *msg;
@@ -734,14 +752,22 @@
if (llist_count(&the_pcu->bts_list) > 1)
LOGP(DL1IF, LOGL_ERROR, "more than one BTS regsitered at this PCU. This PCU has only been tested with one BTS! OS#5930\n");
- if (info_ind->version != PCU_IF_VERSION) {
- fprintf(stderr, "PCU interface version number of BTS (%u) is "
- "different (%u).\nPlease re-compile!\n",
+ LOGP(DL1IF, LOGL_DEBUG, "Info indication received:\n");
+
+ /* NOTE: The classic way to confirm an IMMEDIATE assignment is to send the whole MAC block payload back to the
+ * PCU. So it is the MAC block itsself that serves a reference for the confirmation. This method has certain
+ * disadvantages so it was replaced with a method that uses the TLLI as a reference ("Direct TLLI"). This new
+ * method will replace the old one. The code that handles the old method will be removed in the foreseeable
+ * future. (see also OS#5927) */
+ if (info_ind->version == 0x0a) {
+ LOGP(DL1IF, LOGL_NOTICE, "PCUIF version 10 is deprecated. OS#5927\n");
+ } else if (info_ind->version != PCU_IF_VERSION) {
+ fprintf(stderr, "PCU interface version number of BTS/BSC (%u) is different (%u).\nPlease use a BTS/BSC with a compatble interface!\n",
info_ind->version, PCU_IF_VERSION);
exit(-1);
}
- LOGP(DL1IF, LOGL_DEBUG, "Info indication received:\n");
+ the_pcu->pcu_if_version = info_ind->version;
if (!(info_ind->flags & PCU_IF_FLAG_ACTIVE)) {
LOGP(DL1IF, LOGL_NOTICE, "BTS not available\n");
diff --git a/src/pcu_l1_if.h b/src/pcu_l1_if.h
index e7080d5..1827d84 100644
--- a/src/pcu_l1_if.h
+++ b/src/pcu_l1_if.h
@@ -149,6 +149,7 @@
void pcu_l1if_tx_agch(struct gprs_rlcmac_bts *bts, bitvec *block, int len);
void pcu_l1if_tx_pch(struct gprs_rlcmac_bts *bts, bitvec *block, int plen, uint16_t pgroup);
+void pcu_l1if_tx_pch_dt(struct gprs_rlcmac_bts *bts, bitvec *block, int plen, const char *imsi, uint32_t tlli);
#endif
#ifdef __cplusplus
--
To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/31145
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-pcu
Gerrit-Branch: master
Gerrit-Change-Id: I2a78651593323e8b9627c39918d949a33497b70f
Gerrit-Change-Number: 31145
Gerrit-PatchSet: 24
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: neels <nhofmeyr(a)sysmocom.de>
Gerrit-MessageType: merged
Attention is currently required from: neels, laforge.
dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/31618 )
Change subject: pcu_sock: handle multiple BTSs with multiple BSC co-located PCUs
......................................................................
Patch Set 8:
(1 comment)
Patchset:
PS8:
> let me clarify: I think we want (from the BSC side) to support a single, BSC-colocated PCU (for one […]
Thanks for clarifying this. One BSC co-located PCU only.
Then I have to rework this - should be quick. I only have to move the socket path+state to the network node.
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/31618
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I0b42c2c130106f6ffca2dd08d079e1a7bda41f0b
Gerrit-Change-Number: 31618
Gerrit-PatchSet: 8
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Comment-Date: Tue, 07 Mar 2023 14:29:51 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: comment
Attention is currently required from: neels, laforge, dexter.
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/31618 )
Change subject: pcu_sock: handle multiple BTSs with multiple BSC co-located PCUs
......................................................................
Patch Set 8: Code-Review-1
(2 comments)
Patchset:
PS8:
> let me clarify: I think we want (from the BSC side) to support a single, BSC-colocated PCU (for one […]
Ack
File include/osmocom/bsc/pcu_if.h:
https://gerrit.osmocom.org/c/osmo-bsc/+/31618/comment/829d072b_c9515ba1
PS7, Line 11: struct gsm_bts *bts; /* BTS that is associated with this PCU */
> (we discussed this also in IRC) […]
I thought the outcome of the discussion was that we didn't want to limit 1 BTS per PCU, and instead use the same PCU for all BTS.
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/31618
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I0b42c2c130106f6ffca2dd08d079e1a7bda41f0b
Gerrit-Change-Number: 31618
Gerrit-PatchSet: 8
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: dexter <pmaier(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 07 Mar 2023 14:25:45 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Comment-In-Reply-To: dexter <pmaier(a)sysmocom.de>
Gerrit-MessageType: comment
Attention is currently required from: dexter.
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/31725 )
Change subject: doc: add sample configuration for GPRS with ericsson RBS
......................................................................
Patch Set 1: Code-Review+2
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/31725
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I923608d4edc28b02e882c5f04851a29fc11bad4e
Gerrit-Change-Number: 31725
Gerrit-PatchSet: 1
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: dexter <pmaier(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 07 Mar 2023 14:24:52 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
Attention is currently required from: neels, pespin, dexter.
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/31618 )
Change subject: pcu_sock: handle multiple BTSs with multiple BSC co-located PCUs
......................................................................
Patch Set 8:
(1 comment)
Patchset:
PS8:
> I think we want (from the BSC side) to support a single, BSC-colocated PCU for now, and not any othe […]
let me clarify: I think we want (from the BSC side) to support a single, BSC-colocated PCU (for one or more BTS) for now, and not any other scenarios.
So for now:
* bsc should support one PCU socket for 1..N Ericsson BTS
* pcu supports only 1 BTS behind that PCU socket
A next logical step then would be for OsmoPCU to support multiple BTS, which according to pespin should not be hard. But lets first get the above merged, and not work towards multiple PCU sockets to multple PCUs.
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/31618
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I0b42c2c130106f6ffca2dd08d079e1a7bda41f0b
Gerrit-Change-Number: 31618
Gerrit-PatchSet: 8
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-CC: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: dexter <pmaier(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 07 Mar 2023 14:15:15 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: comment