Change in osmo-bts[master]: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU
laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24619 ) Change subject: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU .. Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU This new extension protocol is used to forward Osmocom PCUIF messages BSC<->BTS<->PCU. It will be sent re-using the IPA multiplex of the OML link between BSC and BTS. BTS is responsible for forwarding the message over the unix socket to the PCU. PCUIF existing RX path needs to be reworked in order to accept variable-size messages, in order to be able to transparently forward messages without knowing about them (the new container message is variable-length). Related: SYS#5303 Change-Id: I73fdb17107494ade9263a62d1f729e67303fce87 --- M include/osmo-bts/Makefile.am A include/osmo-bts/abis_osmo.h M include/osmo-bts/bts.h M include/osmo-bts/pcu_if.h M src/common/Makefile.am M src/common/abis.c A src/common/abis_osmo.c M src/common/bts.c M src/common/pcu_sock.c 9 files changed, 201 insertions(+), 10 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmo-bts/Makefile.am b/include/osmo-bts/Makefile.am index 84dc667..d52c9aa 100644 --- a/include/osmo-bts/Makefile.am +++ b/include/osmo-bts/Makefile.am @@ -1,5 +1,6 @@ noinst_HEADERS = \ abis.h \ + abis_osmo.h \ bts.h \ bts_model.h \ bts_shutdown_fsm.h \ diff --git a/include/osmo-bts/abis_osmo.h b/include/osmo-bts/abis_osmo.h new file mode 100644 index 000..be2817f --- /dev/null +++ b/include/osmo-bts/abis_osmo.h @@ -0,0 +1,10 @@ +#pragma once + +#include +#include + +struct gsm_bts; + +int down_osmo(struct gsm_bts *bts, struct msgb *msg); + +int abis_osmo_pcu_tx_container(struct gsm_bts *bts, const struct gsm_pcu_if_container *container); diff --git a/include/osmo-bts/bts.h b/include/osmo-bts/bts.h index 978a548..a891fb7 100644 --- a/include/osmo-bts/bts.h +++ b/include/osmo-bts/bts.h @@ -167,6 +167,8 @@ /* how do we talk OML with this TRX? */ struct e1inp_sign_link *oml_link; struct timespec oml_conn_established_timestamp; + /* OSMO extenion link associated to same line as oml_link: */ + struct e1inp_sign_link *osmo_link; /* Abis network management O handle */ struct gsm_abis_mo mo; diff --git a/include/osmo-bts/pcu_if.h b/include/osmo-bts/pcu_if.h index 6ef8dc5..12a8abc 100644 --- a/include/osmo-bts/pcu_if.h +++ b/include/osmo-bts/pcu_if.h @@ -1,8 +1,12 @@ #ifndef _PCU_IF_H #define _PCU_IF_H +#include + extern int pcu_direct; +#define PCUIF_HDR_SIZE ( sizeof(struct gsm_pcu_if) - sizeof(((struct gsm_pcu_if *)0)->u) ) + int pcu_tx_info_ind(void); int pcu_tx_si(const struct gsm_bts *bts, enum osmo_sysinfo_type si_type, bool enable); int pcu_tx_app_info_req(struct gsm_bts *bts, uint8_t app_type, uint8_t len, const uint8_t *app_data); @@ -20,6 +24,7 @@ int pcu_tx_pag_req(const uint8_t *identity_lv, uint8_t chan_needed); int pcu_tx_pch_data_cnf(uint32_t fn, uint8_t *data, uint8_t len); int pcu_tx_susp_req(struct gsm_lchan *lchan, uint32_t tlli, const uint8_t *ra_id, uint8_t cause); +int pcu_sock_send(struct gsm_network *net, struct msgb *msg); int pcu_sock_init(const char *path); void pcu_sock_exit(void); diff --git a/src/common/Makefile.am b/src/common/Makefile.am index d979bc0..72438c6 100644 --- a/src/common/Makefile.am +++ b/src/common/Makefile.am @@ -12,6 +12,7 @@ sysinfo.c \ logging.c \ abis.c \ + abis_osmo.c \ oml.c \ bts.c \ bts_trx.c \ diff --git a/src/common/abis.c b/src/common/abis.c index 17a244c..abef826 100644 --- a/src/common/abis.c +++ b/src/common/abis.c @@ -48,6 +48,7 @@ #include #include #include +#include #include #include @@ -113,6 +114,8 @@ if (clock_gettime(CLOCK_MONOTONIC, _bts->oml_conn_established_timestamp) != 0) memset(_bts->oml_conn_established_timestamp, 0, sizeof(g_bts->oml_conn_established_timestamp)); + g_bts->osmo_link = e1inp_sign_link_create(sign_ts, E1INP_SIGN_OSMO, + g_bts->c0, IPAC_PROTO_OSMO, 0); drain_oml_queue(g_bts); bts_link_estab(g_bts); return g_bts->oml_link; @@ -158,10 +161,15 @@ "A common error is a mismatch between unit_id configuration parameters of BTS and BSC.\n", (uint64_t)(now.tv_sec - g_bts->oml_conn_established_timestamp.tv_sec)); } + g_bts->oml_link = NULL; } - g_bts->oml_link = NULL; memset(_bts->oml_conn_established_timestamp, 0, sizeof(g_bts->oml_conn_established_timestamp)); + if (g_bts->osmo_link) { + e1inp_sign_link_destroy(g_bts->osmo_link); +
Change in osmo-bts[master]: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24619 ) Change subject: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU .. Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I73fdb17107494ade9263a62d1f729e67303fce87 Gerrit-Change-Number: 24619 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 30 Jun 2021 08:13:19 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmo-bts[master]: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24619 ) Change subject: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU .. Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I73fdb17107494ade9263a62d1f729e67303fce87 Gerrit-Change-Number: 24619 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 28 Jun 2021 08:37:47 + Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment
Change in osmo-bts[master]: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU
Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24619 to look at the new patch set (#6). Change subject: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU .. Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU This new extension protocol is used to forward Osmocom PCUIF messages BSC<->BTS<->PCU. It will be sent re-using the IPA multiplex of the OML link between BSC and BTS. BTS is responsible for forwarding the message over the unix socket to the PCU. PCUIF existing RX path needs to be reworked in order to accept variable-size messages, in order to be able to transparently forward messages without knowing about them (the new container message is variable-length). Related: SYS#5303 Change-Id: I73fdb17107494ade9263a62d1f729e67303fce87 --- M include/osmo-bts/Makefile.am A include/osmo-bts/abis_osmo.h M include/osmo-bts/bts.h M include/osmo-bts/pcu_if.h M src/common/Makefile.am M src/common/abis.c A src/common/abis_osmo.c M src/common/bts.c M src/common/pcu_sock.c 9 files changed, 201 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/19/24619/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I73fdb17107494ade9263a62d1f729e67303fce87 Gerrit-Change-Number: 24619 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset
Change in osmo-bts[master]: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU
Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24619 to look at the new patch set (#5). Change subject: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU .. Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU This new extension protocol is used to forward Osmocom PCUIF messages BSC<->BTS<->PCU. It will be sent re-using the IPA multiplex of the OML link between BSC and BTS. BTS is responsible for forwarding the message over the unix socket to the PCU. PCUIF existing RX path needs to be reworked in order to accept variable-size messages, in order to be able to transparently forward messages without knowing about them (the new container message is variable-length). Related: SYS#5303 Change-Id: I73fdb17107494ade9263a62d1f729e67303fce87 --- M include/osmo-bts/Makefile.am A include/osmo-bts/abis_osmo.h M include/osmo-bts/bts.h M include/osmo-bts/pcu_if.h M src/common/Makefile.am M src/common/abis.c A src/common/abis_osmo.c M src/common/bts.c M src/common/pcu_sock.c 9 files changed, 200 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/19/24619/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I73fdb17107494ade9263a62d1f729e67303fce87 Gerrit-Change-Number: 24619 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset
Change in osmo-bts[master]: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU
Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/24619 to look at the new patch set (#4). Change subject: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU .. Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU This new extension protocol is used to forward Osmocom PCUIF messages BSC<->BTS<->PCU. It will be sent re-using the IPA multiplex of the OML link between BSC and BTS. BTS is responsible for forwarding the message over the unix socket to the PCU. PCUIF existing RX path needs to be reworked in order to accept variable-size messages, in order to be able to transparently forward messages without knowing about them (the new container message is variable-length). Related: SYS#5303 Change-Id: I73fdb17107494ade9263a62d1f729e67303fce87 --- M include/osmo-bts/Makefile.am A include/osmo-bts/abis_osmo.h M include/osmo-bts/bts.h M include/osmo-bts/pcu_if.h M src/common/Makefile.am M src/common/abis.c A src/common/abis_osmo.c M src/common/bts.c M src/common/pcu_sock.c 9 files changed, 200 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/19/24619/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I73fdb17107494ade9263a62d1f729e67303fce87 Gerrit-Change-Number: 24619 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset
Change in osmo-bts[master]: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24619 ) Change subject: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU .. Patch Set 3: I would suggest to somehow introduce an entirely new "transparent" channel from the BSC. The way how you're doing it herre (flat next to the BTS originated messages) looks like the BTS will still need to be updated every time some new message between PCU and BSC is added. I would simply introduce something like a BSC_TO_PCU_IND and PCU_TO_BSC_IND at the msg_type level. At that point the BTS doesn't care anymore, it just passes those messages back and forth between PCU and BSC. The payload is opaqua and needs to be understood only by those two. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I73fdb17107494ade9263a62d1f729e67303fce87 Gerrit-Change-Number: 24619 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 15 Jun 2021 17:00:51 + Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment
Change in osmo-bts[master]: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24619 ) Change subject: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU .. Patch Set 3: > Patch Set 2: > > I think using "osmo" is misleading here. Everything we do is osmo. > > So I think it's better to come up with some random acronym or other term that > is unique for this use case. like AOE (abis osmocom extensions) or OPAE > (osmocom private abis extension) or whatever else you see fit Can you point me to which parts should I change in your opinion? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I73fdb17107494ade9263a62d1f729e67303fce87 Gerrit-Change-Number: 24619 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 14 Jun 2021 11:54:51 + Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment
Change in osmo-bts[master]: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/24619 ) Change subject: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU .. Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/24619 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I73fdb17107494ade9263a62d1f729e67303fce87 Gerrit-Change-Number: 24619 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 14 Jun 2021 11:53:19 + Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment