Attention is currently required from: dexter, fixeria, laforge.
Hello Jenkins Builder, dexter, fixeria,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/pysim/+/35462?usp=email
to look at the new patch set (#5).
The following approvals got outdated and were removed:
Verified-1 by Jenkins Builder
Change subject: Introduce GlobalPlatform SCP02 implementation
......................................................................
Introduce GlobalPlatform SCP02 implementation
This implementation of GlobalPlatform SCP02 currently only supports
C-MAC and C-ENC, but no R-MAC or R-ENC yet.
The patch also introduces the notion of having a SCP instance associated
with a SimCardCommands instance. No code is using this yet, it will be
introduced in a separate patch.
Change-Id: I56020382b9dfe8ba0f7c1c9f71eb1a9746bc5a27
---
M pySim/commands.py
M pySim/global_platform/__init__.py
A pySim/global_platform/scp02.py
A pySim/secure_channel.py
A tests/test_globalplatform.py
5 files changed, 345 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/62/35462/5
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/35462?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I56020382b9dfe8ba0f7c1c9f71eb1a9746bc5a27
Gerrit-Change-Number: 35462
Gerrit-PatchSet: 5
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: dexter <pmaier(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: dexter, fixeria, laforge.
Hello Jenkins Builder, dexter, fixeria,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/pysim/+/35764?usp=email
to look at the new patch set (#4).
The following approvals got outdated and were removed:
Verified-1 by Jenkins Builder
Change subject: Add global_platform shell command establish_scp02 and release_scp
......................................................................
Add global_platform shell command establish_scp02 and release_scp
Those commands can be used to establish and release a SCP02 secure
channel on the currently active logical channel.
The prompt is adjusted with a 'SCP02' prefix while the secure channel is
established.
Change-Id: Ib2f3c8f0563f81a941dd55b97c9836e3a6856407
---
M docs/shell.rst
M pySim-shell.py
M pySim/global_platform/__init__.py
M pySim/global_platform/scp02.py
A pySim/secure_channel.py
5 files changed, 120 insertions(+), 2 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/64/35764/4
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/35764?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: Ib2f3c8f0563f81a941dd55b97c9836e3a6856407
Gerrit-Change-Number: 35764
Gerrit-PatchSet: 4
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: dexter <pmaier(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: dexter, fixeria, laforge.
Hello Jenkins Builder, dexter, fixeria,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/pysim/+/35762?usp=email
to look at the new patch set (#3).
The following approvals got outdated and were removed:
Verified-1 by Jenkins Builder
Change subject: commands.py: Wrap the transport send_apdu* methods
......................................................................
commands.py: Wrap the transport send_apdu* methods
Let's not have higher level code directly call the transports send_apdu*
methods. We do this as a precursor to introducing secure channel
support, where the secure channel driver would add MAC and/or encrypt
APDUs before they are sent to the transport.
Change-Id: I1b870140959aa8241cda2246e74576390123cb2d
---
M pySim-shell.py
M pySim/commands.py
M pySim/euicc.py
M pySim/global_platform.py
M pySim/legacy/cards.py
M pySim/transport/__init__.py
6 files changed, 135 insertions(+), 104 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/62/35762/3
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/35762?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I1b870140959aa8241cda2246e74576390123cb2d
Gerrit-Change-Number: 35762
Gerrit-PatchSet: 3
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: dexter <pmaier(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: dexter, fixeria, laforge.
Hello Jenkins Builder, dexter, fixeria,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/pysim/+/35762?usp=email
to look at the new patch set (#2).
The following approvals got outdated and were removed:
Verified-1 by Jenkins Builder
Change subject: commands.py: Wrap the transport send_apdu* methods
......................................................................
commands.py: Wrap the transport send_apdu* methods
Let's not have higher level code directly call the transports send_apdu*
methods. We do this as a precursor to introducing secure channel
support, where the secure channel driver would add MAC and/or encrypt
APDUs before they are sent to the transport.
Change-Id: I1b870140959aa8241cda2246e74576390123cb2d
---
M pySim-shell.py
M pySim/commands.py
M pySim/euicc.py
M pySim/global_platform.py
M pySim/legacy/cards.py
M pySim/transport/__init__.py
6 files changed, 135 insertions(+), 104 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/62/35762/2
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/35762?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I1b870140959aa8241cda2246e74576390123cb2d
Gerrit-Change-Number: 35762
Gerrit-PatchSet: 2
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: dexter <pmaier(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: dexter, jolly, tnt.
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-abis/+/35563?usp=email )
Change subject: Add support for sending and receiving Sa bits, as well as some line signals
......................................................................
Patch Set 4:
(1 comment)
File src/e1_input.c:
https://gerrit.osmocom.org/c/libosmo-abis/+/35563/comment/827b8dd5_c8b65a09
PS4, Line 1124: { S_L_INP_LINE_LOF, "LINE-LOF" },
: { S_L_INP_LINE_NOLOF, "LINE-NOLOF" },
> osmo-v5 has been well tested.
As I wrote: " As far as I can tell, this would affect libosmo-abis and osmo-v5"
--
To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/35563?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmo-abis
Gerrit-Branch: master
Gerrit-Change-Id: Ie7643693c2daac99f5747591decd60e982b8052a
Gerrit-Change-Number: 35563
Gerrit-PatchSet: 4
Gerrit-Owner: jolly <andreas(a)eversberg.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: tnt <tnt(a)246tNt.com>
Gerrit-CC: dexter <pmaier(a)sysmocom.de>
Gerrit-Attention: jolly <andreas(a)eversberg.eu>
Gerrit-Attention: tnt <tnt(a)246tNt.com>
Gerrit-Attention: dexter <pmaier(a)sysmocom.de>
Gerrit-Comment-Date: Thu, 01 Feb 2024 10:47:23 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: jolly <andreas(a)eversberg.eu>
Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
Comment-In-Reply-To: tnt <tnt(a)246tNt.com>
Gerrit-MessageType: comment
neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hnbgw/+/35645?usp=email )
Change subject: pfcp: implement sending Network Instance IEs
......................................................................
pfcp: implement sending Network Instance IEs
Allow configuring specific Network Instance names for the Core and
Access sides, to send to the UPF, to allow the UPF to pick the proper
network interface to create GTP tunnels on.
Add VTY cfg 'hnbgw' / 'pfcp' / 'netinst (access|core) NAME' to allow
configuring Network Interface values to send in PFCP. These are "dotted"
domain name strings, as in APN.
Add these Network Interface names to the PFCP messages' detection as
well as forwarding rules, each one indicating the side that it is
detecting on or forwarding to.
This helps lift osmo-hnbgw's PFCP support out of lab situations to a
proper production scenario, where the core and access networks are in
separate subnets, with osmo-hnbgw + UPF as the gateway.
For example, in osmo-hnbgw, configure
hnbgw
pfcp
netinst access my-ran
netinst core my-core
and in osmo-upf, configure
netinst
add my-ran 10.9.8.7
add my-core 1.2.3.4
In effect, all GTP tunnel endpoints towards the Access side will be
bound on 10.9.8.7, and all GTP tunnel endpoints towards the Core side
will be bound on 1.2.3.4.
Related: SYS#5895
Change-Id: Ief53dbfacf1645c32a07847d590c4884d4c8ca56
---
M include/osmocom/hnbgw/hnbgw.h
M src/osmo-hnbgw/hnbgw_vty.c
M src/osmo-hnbgw/ps_rab_fsm.c
M tests/pfcp_cfg.vty.with_pfcp
4 files changed, 104 insertions(+), 2 deletions(-)
Approvals:
fixeria: Looks good to me, but someone else must approve
neels: Looks good to me, approved
Jenkins Builder: Verified
laforge: Looks good to me, but someone else must approve
diff --git a/include/osmocom/hnbgw/hnbgw.h b/include/osmocom/hnbgw/hnbgw.h
index e62fc71..f4f7dc1 100644
--- a/include/osmocom/hnbgw/hnbgw.h
+++ b/include/osmocom/hnbgw/hnbgw.h
@@ -265,6 +265,10 @@
uint16_t local_port;
char *remote_addr;
uint16_t remote_port;
+ struct {
+ char *access;
+ char *core;
+ } netinst;
} pfcp;
} config;
/*! SCTP listen socket for incoming connections */
diff --git a/src/osmo-hnbgw/hnbgw_vty.c b/src/osmo-hnbgw/hnbgw_vty.c
index d401279..cb34d7f 100644
--- a/src/osmo-hnbgw/hnbgw_vty.c
+++ b/src/osmo-hnbgw/hnbgw_vty.c
@@ -842,6 +842,27 @@
return CMD_SUCCESS;
}
+DEFUN(cfg_pfcp_netinst, cfg_pfcp_netinst_cmd,
+ "netinst (access|core) NAME",
+ "Add a Network Instance IE to all outgoing PFCP rule sets,"
+ " so that the UPF may choose the correct interface to open GTP tunnels on.\n"
+ "Set the Network Instance name for the access side (towards RAN).\n"
+ "Set the Network Instance name for the core side.\n"
+ "The Network Instance name as a dotted string, typically a domain name like 'ran23.example.com'."
+ " A matching osmo-upf.cfg could be: 'netinst' / 'add ran23.example.com 10.0.0.23'."
+ " See 3GPP TS 29.244 8.2.4.\n")
+{
+ const char *access_or_core = argv[0];
+ char **str;
+ if (!strcmp(access_or_core, "access"))
+ str = &g_hnbgw->config.pfcp.netinst.access;
+ else
+ str = &g_hnbgw->config.pfcp.netinst.core;
+ osmo_talloc_replace_string(g_hnbgw, str, argv[1]);
+ LOGP(DLPFCP, LOGL_NOTICE, "cfg: pfcp netinst %s %s\n", access_or_core, *str);
+ return CMD_SUCCESS;
+}
+
#endif /* ENABLE_PFCP */
DEFUN_DEPRECATED(cfg_hnbgw_timer_ps, cfg_hnbgw_timer_ps_cmd,
@@ -949,6 +970,12 @@
vty_out(vty, " local-port %u%s", g_hnbgw->config.pfcp.local_port, VTY_NEWLINE);
if (g_hnbgw->config.pfcp.remote_addr)
vty_out(vty, " remote-addr %s%s", g_hnbgw->config.pfcp.remote_addr, VTY_NEWLINE);
+ if (g_hnbgw->config.pfcp.netinst.access
+ && *g_hnbgw->config.pfcp.netinst.access)
+ vty_out(vty, " netinst access %s%s", g_hnbgw->config.pfcp.netinst.access, VTY_NEWLINE);
+ if (g_hnbgw->config.pfcp.netinst.core
+ && *g_hnbgw->config.pfcp.netinst.core)
+ vty_out(vty, " netinst core %s%s", g_hnbgw->config.pfcp.netinst.core, VTY_NEWLINE);
return CMD_SUCCESS;
}
@@ -1019,6 +1046,7 @@
install_element(PFCP_NODE, &cfg_pfcp_local_addr_cmd);
install_element(PFCP_NODE, &cfg_pfcp_local_port_cmd);
install_element(PFCP_NODE, &cfg_pfcp_remote_addr_cmd);
+ install_element(PFCP_NODE, &cfg_pfcp_netinst_cmd);
#endif
osmo_tdef_vty_groups_init(HNBGW_NODE, hnbgw_tdef_group);
diff --git a/src/osmo-hnbgw/ps_rab_fsm.c b/src/osmo-hnbgw/ps_rab_fsm.c
index 512c983..82e4f30 100644
--- a/src/osmo-hnbgw/ps_rab_fsm.c
+++ b/src/osmo-hnbgw/ps_rab_fsm.c
@@ -199,6 +199,13 @@
return rab;
}
+#define set_netinst(NETINST_MEMBER, STRING) do { \
+ if ((STRING) && *(STRING)) { \
+ NETINST_MEMBER##_present = true; \
+ OSMO_STRLCPY_ARRAY(NETINST_MEMBER.str, STRING); \
+ } \
+ } while (0)
+
/* Add two PDR and two FAR to the PFCP Session Establishment Request message, according to the information found in rab.
*/
static int rab_to_pfcp_session_est_req(struct osmo_pfcp_msg_session_est_req *ser, struct ps_rab *rab)
@@ -234,6 +241,7 @@
.far_id_present = true,
.far_id = ID_CORE_TO_ACCESS,
};
+ set_netinst(ser->create_pdr[ser->create_pdr_count].pdi.network_inst, g_hnbgw->config.pfcp.netinst.core);
ser->create_pdr_count++;
ser->create_far[ser->create_far_count] = (struct osmo_pfcp_ie_create_far){
@@ -268,6 +276,7 @@
.far_id_present = true,
.far_id = ID_ACCESS_TO_CORE,
};
+ set_netinst(ser->create_pdr[ser->create_pdr_count].pdi.network_inst, g_hnbgw->config.pfcp.netinst.access);
ser->create_pdr_count++;
ser->create_far[ser->create_far_count] = (struct osmo_pfcp_ie_create_far){
@@ -288,6 +297,7 @@
OSMO_PFCP_OUTER_HEADER_CREATION_GTP_U_UDP_IPV4, true);
osmo_pfcp_bits_set(ser->create_far[ser->create_far_count].apply_action.bits,
OSMO_PFCP_APPLY_ACTION_FORW, true);
+ set_netinst(ser->create_far[ser->create_far_count].forw_params.network_inst, g_hnbgw->config.pfcp.netinst.core);
ser->create_far_count++;
return 0;
@@ -484,7 +494,8 @@
/* Add an Update FAR to the PFCP Session Modification Request message, updating a remote F-TEID. */
static int rab_to_pfcp_session_mod_req_upd_far(struct osmo_pfcp_msg_session_mod_req *smr,
- uint32_t far_id, const struct addr_teid *remote_f_teid)
+ uint32_t far_id, const struct addr_teid *remote_f_teid,
+ const char *far_netinst)
{
if (smr->upd_far_count + 1 > ARRAY_SIZE(smr->upd_far))
return -1;
@@ -509,6 +520,7 @@
OSMO_PFCP_APPLY_ACTION_FORW, true);
osmo_pfcp_bits_set(smr->upd_far[smr->upd_far_count].upd_forw_params.outer_header_creation.desc_bits,
OSMO_PFCP_OUTER_HEADER_CREATION_GTP_U_UDP_IPV4, true);
+ set_netinst(smr->upd_far[smr->upd_far_count].upd_forw_params.network_inst, far_netinst);
smr->upd_far_count++;
return 0;
@@ -532,7 +544,8 @@
m = ps_rab_new_pfcp_msg_req(rab, OSMO_PFCP_MSGT_SESSION_MOD_REQ);
- if (rab_to_pfcp_session_mod_req_upd_far(&m->ies.session_mod_req, ID_CORE_TO_ACCESS, &rab->access.remote)) {
+ if (rab_to_pfcp_session_mod_req_upd_far(&m->ies.session_mod_req, ID_CORE_TO_ACCESS, &rab->access.remote,
+ g_hnbgw->config.pfcp.netinst.access)) {
LOG_PS_RAB(rab, LOGL_ERROR, "error composing Update FAR IE in PFCP msg\n");
ps_rab_failure(rab);
return;
diff --git a/tests/pfcp_cfg.vty.with_pfcp b/tests/pfcp_cfg.vty.with_pfcp
index 44b922c..50304f7 100644
--- a/tests/pfcp_cfg.vty.with_pfcp
+++ b/tests/pfcp_cfg.vty.with_pfcp
@@ -15,6 +15,7 @@
local-addr IP_ADDR
local-port <1-65535>
remote-addr IP_ADDR
+ netinst (access|core) NAME
OsmoHNBGW(config-hnbgw-pfcp)# local-addr?
local-addr Local address for PFCP
@@ -31,6 +32,15 @@
OsmoHNBGW(config-hnbgw-pfcp)# remote-addr ?
IP_ADDR IP address
+OsmoHNBGW(config-hnbgw-pfcp)# netinst?
+ netinst Add a Network Instance IE to all outgoing PFCP rule sets, so that the UPF may choose the correct interface to open GTP tunnels on.
+OsmoHNBGW(config-hnbgw-pfcp)# netinst ?
+ access Set the Network Instance name for the access side (towards RAN).
+ core Set the Network Instance name for the core side.
+
+OsmoHNBGW(config-hnbgw-pfcp)# netinst access ?
+ NAME The Network Instance name as a dotted string, typically a domain name like 'ran23.example.com'. A matching osmo-upf.cfg could be: 'netinst' / 'add ran23.example.com 10.0.0.23'. See 3GPP TS 29.244 8.2.4.
+
OsmoHNBGW(config-hnbgw-pfcp)# show running-config
...
@@ -43,6 +53,8 @@
OsmoHNBGW(config-hnbgw-pfcp)# remote-addr 127.0.0.2
OsmoHNBGW(config-hnbgw-pfcp)# local-addr 127.0.0.1
OsmoHNBGW(config-hnbgw-pfcp)# local-port 8805
+OsmoHNBGW(config-hnbgw-pfcp)# netinst access ran.net
+OsmoHNBGW(config-hnbgw-pfcp)# netinst core core.net
OsmoHNBGW(config-hnbgw-pfcp)# show running-config
...
@@ -52,5 +64,7 @@
local-addr 127.0.0.1
local-port 8805
remote-addr 127.0.0.2
+ netinst access ran.net
+ netinst core core.net
msc 0
...
--
To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/35645?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-hnbgw
Gerrit-Branch: master
Gerrit-Change-Id: Ief53dbfacf1645c32a07847d590c4884d4c8ca56
Gerrit-Change-Number: 35645
Gerrit-PatchSet: 3
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
Attention is currently required from: fixeria, pespin.
neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hnbgw/+/35645?usp=email )
Change subject: pfcp: implement sending Network Instance IEs
......................................................................
Patch Set 3:
(2 comments)
File src/osmo-hnbgw/ps_rab_fsm.c:
https://gerrit.osmocom.org/c/osmo-hnbgw/+/35645/comment/6b8fb907_57222fca
PS3, Line 202: #define set_netinst(NETINST_MEMBER, STRING) do { \
> main reason for macro is that it works for both […]
Done
https://gerrit.osmocom.org/c/osmo-hnbgw/+/35645/comment/1096fc71_acc2131b
PS3, Line 244: set_netinst(ser->create_pdr[ser->create_pdr_count].pdi.network_inst, g_hnbgw->config.pfcp.netinst.core);
> better than some macro which one for sure has to go look at when looking at the code because god kno […]
from my perspective, the confusing part is the deep DAG structure of PFCP, and it is less interesting to understand how the macro does what you mean. doing as i please now
--
To view, visit https://gerrit.osmocom.org/c/osmo-hnbgw/+/35645?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-hnbgw
Gerrit-Branch: master
Gerrit-Change-Id: Ief53dbfacf1645c32a07847d590c4884d4c8ca56
Gerrit-Change-Number: 35645
Gerrit-PatchSet: 3
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Thu, 01 Feb 2024 05:51:43 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: neels <nhofmeyr(a)sysmocom.de>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: comment