Change in osmo-bts[master]: Support forwarding proto IPAC_PROTO_EXT_PCU BSC<->PCU

2021-06-30 Thread laforge
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

2021-06-30 Thread laforge
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

2021-06-28 Thread laforge
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

2021-06-25 Thread pespin
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

2021-06-25 Thread pespin
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

2021-06-23 Thread pespin
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

2021-06-15 Thread laforge
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

2021-06-14 Thread pespin
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

2021-06-14 Thread pespin
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