Attention is currently required from: dexter.
fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/28185 )
Change subject: ts_102_221: The BTLV IEs FILE SIZE and TOTAL FILE SIZE have a min length
......................................................................
Patch Set 9:
(1 comment)
File pySim/construct.py:
https://gerrit.osmocom.org/c/pysim/+/28185/comment/cde634f3_72ba9412
PS5, Line 241: if nbytes < minlen:
> Done
I do not insist on using min() here, but could you please explain (or give an example) what's wrong with using it? What exactly behaves differently? Just curious.
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/28185
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: Ief113ce8fe3bcae2c9fb2ff4138df9ccf98d26ff
Gerrit-Change-Number: 28185
Gerrit-PatchSet: 9
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Attention: dexter <pmaier(a)sysmocom.de>
Gerrit-Comment-Date: Fri, 10 Jun 2022 17:08:41 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de>
Comment-In-Reply-To: dexter <pmaier(a)sysmocom.de>
Gerrit-MessageType: comment
pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/28267 )
Change subject: bsc: Fix IPA_CFG_PORT handling several connections
......................................................................
bsc: Fix IPA_CFG_PORT handling several connections
Recent commit changing the layout of bts/trx port config made
IPA_CFG_PORT be connected severa times when calling f_ipa_rsl_start()
for each BTS/TRX.
Let's have separate ports per BTS/TRX as done in other ports in the
test_CT component.
This avoid this error when calling f_ipa_rsl_stop():
"""
Dynamic test case error: Port IPA_CFG_PORT has more than one active
connections. Message can be sent on it only with explicit addressing.
"""
Change-Id: I916186c87c398ebb2d7f82f73b94de75034e346d
---
M bsc/BSC_Tests.ttcn
1 file changed, 5 insertions(+), 5 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/67/28267/1
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index b445709..8a7d465 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -612,8 +612,8 @@
port IPA_CODEC_PT IPA; /* Required for compilation of TC_rsl_unknown_unit_id() */
/* CTRL muxed over IPA in SCCPlite conn BSC<->MSC (or BSC-NAT) */
port IPA_CTRL_PT SCCPLITE_IPA_CTRL;
- /* Configure/manage IPA_Emulation: */
- port IPA_CFG_PT IPA_CFG_PORT;
+ /* Configure/manage IPA_Emulation per-BTS/TRX port: */
+ port IPA_CFG_PT IPA_CFG_PORT[NUM_BTS][NUM_TRX];
var MGCP_Emulation_CT vc_MGCP;
port TELNETasp_PT BSCVTY;
@@ -953,7 +953,7 @@
}
map(clnt.vc_IPA:IPA_PORT, system:IPA_CODEC_PT);
- connect(clnt.vc_IPA:CFG_PORT, self:IPA_CFG_PORT);
+ connect(clnt.vc_IPA:CFG_PORT, self:IPA_CFG_PORT[idx.bts][idx.trx]);
if (handler_mode) {
connect(clnt.vc_IPA:IPA_RSL_PORT, clnt.vc_RSL:IPA_PT);
} else {
@@ -982,7 +982,7 @@
}
}
-function f_ipa_rsl_stop(inout IPA_Client clnt) runs on test_CT {
+function f_ipa_rsl_stop(inout IPA_Client clnt, BtsTrxIdx idx := {0, 0}) runs on test_CT {
var IPL4asp_Types.Result res := {
errorCode := omit,
connId := omit,
@@ -997,7 +997,7 @@
/* Alive components don't finish sockets (TCP FIN) when they are
* stopped. Hence, we need to manually call close() on them to make sure
* the IUT knows about it. */
- f_ipa_cfg_disconnect(IPA_CFG_PORT, res);
+ f_ipa_cfg_disconnect(IPA_CFG_PORT[idx.bts][idx.trx], res);
clnt.vc_IPA.stop;
if (isbound(clnt.vc_RSL)) {
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/28267
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: I916186c87c398ebb2d7f82f73b94de75034e346d
Gerrit-Change-Number: 28267
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: newchange
Attention is currently required from: neels, laforge.
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-upf/+/28245 )
Change subject: install libosmo-gtlv, libosmo-pfcp
......................................................................
Patch Set 4:
(1 comment)
Patchset:
PS1:
> i kept it as a completely separate lib from the start, because i think it has significant advantages […]
You can create it locally and push it on monday when he's back :)
--
To view, visit https://gerrit.osmocom.org/c/osmo-upf/+/28245
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-upf
Gerrit-Branch: master
Gerrit-Change-Id: I9f4651b6bee457583aba99052dc82bbf675515e6
Gerrit-Change-Number: 28245
Gerrit-PatchSet: 4
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Comment-Date: Fri, 10 Jun 2022 16:25:32 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: neels <nhofmeyr(a)sysmocom.de>
Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: comment
Attention is currently required from: laforge, pespin.
neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-upf/+/28245 )
Change subject: install libosmo-gtlv, libosmo-pfcp
......................................................................
Patch Set 4:
(1 comment)
Patchset:
PS1:
> It really depends on whether libosmo-gtlv is used internally only n lbosmo-pfcp or publically expose […]
i kept it as a completely separate lib from the start, because i think it has significant advantages over the osmocom/tlv/ implementation... if we had nothing else to do it could be fun to re-implement all of RSL, BSSMAP etc using gtlv. So I'm going to libosmocore.git for libosmo-gtlv.
Because i want to use libosmo-pfcp from osmo-hnbgw, i'd move that to libosmo-pfcp.git now, but i think i need to wait for Harald to create it first?
--
To view, visit https://gerrit.osmocom.org/c/osmo-upf/+/28245
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-upf
Gerrit-Branch: master
Gerrit-Change-Id: I9f4651b6bee457583aba99052dc82bbf675515e6
Gerrit-Change-Number: 28245
Gerrit-PatchSet: 4
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Fri, 10 Jun 2022 16:21:45 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: neels <nhofmeyr(a)sysmocom.de>
Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: comment
dexter has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/28218 )
Change subject: commands: add ".." notation to expand hexstrings
......................................................................
commands: add ".." notation to expand hexstrings
When updating files and records there are sometimes huge portions that
are just 0xff. Mostly this is at the end of a file or record that is not
completely used. Lets add a notation to tell PySim-shell how to fill
those sections.
Change-Id: Iedd7887bf7d706878f4a3beca8dbea456404610b
---
M pySim/commands.py
M pySim/utils.py
2 files changed, 64 insertions(+), 5 deletions(-)
Approvals:
Jenkins Builder: Verified
dexter: Looks good to me, approved
neels: Looks good to me, but someone else must approve
laforge: Looks good to me, but someone else must approve
diff --git a/pySim/commands.py b/pySim/commands.py
index a959851..7b50677 100644
--- a/pySim/commands.py
+++ b/pySim/commands.py
@@ -23,7 +23,7 @@
from construct import *
from pySim.construct import LV
-from pySim.utils import rpad, b2h, h2b, sw_match, bertlv_encode_len, Hexstr, h2i, str_sanitize
+from pySim.utils import rpad, b2h, h2b, sw_match, bertlv_encode_len, Hexstr, h2i, str_sanitize, expand_hex
from pySim.exceptions import SwMatchError
@@ -190,6 +190,10 @@
offset : byte offset in file from which to start writing
verify : Whether or not to verify data after write
"""
+
+ file_len = self.binary_size(ef)
+ data = expand_hex(data, file_len)
+
data_length = len(data) // 2
# Save write cycles by reading+comparing before write
@@ -255,16 +259,17 @@
verify : verify data by re-reading the record
conserve : read record and compare it with data, skip write on match
"""
+
res = self.select_path(ef)
+ rec_length = self.__record_len(res)
+ data = expand_hex(data, rec_length)
if force_len:
# enforce the record length by the actual length of the given data input
rec_length = len(data) // 2
else:
- # determine the record length from the select response of the file and pad
- # the input data with 0xFF if necessary. In cases where the input data
- # exceed we throw an exception.
- rec_length = self.__record_len(res)
+ # make sure the input data is padded to the record length using 0xFF.
+ # In cases where the input data exceed we throw an exception.
if (len(data) // 2 > rec_length):
raise ValueError('Data length exceeds record length (expected max %d, got %d)' % (
rec_length, len(data) // 2))
diff --git a/pySim/utils.py b/pySim/utils.py
index ef770f9..6b8ee37 100644
--- a/pySim/utils.py
+++ b/pySim/utils.py
@@ -1225,6 +1225,60 @@
return int(x, 0)
+def expand_hex(hexstring, length):
+ """Expand a given hexstring to a specified length by replacing "." or ".."
+ with a filler that is derived from the neighboring nibbles respective
+ bytes. Usually this will be the nibble respective byte before "." or
+ "..", execpt when the string begins with "." or "..", then the nibble
+ respective byte after "." or ".." is used.". In case the string cannot
+ be expanded for some reason, the input string is returned unmodified.
+
+ Args:
+ hexstring : hexstring to expand
+ length : desired length of the resulting hexstring.
+ Returns:
+ expanded hexstring
+ """
+
+ # expand digit aligned
+ if hexstring.count(".") == 1:
+ pos = hexstring.index(".")
+ if pos > 0:
+ filler = hexstring[pos - 1]
+ else:
+ filler = hexstring[pos + 1]
+
+ missing = length * 2 - (len(hexstring) - 1)
+ if missing <= 0:
+ return hexstring
+
+ return hexstring.replace(".", filler * missing)
+
+ # expand byte aligned
+ elif hexstring.count("..") == 1:
+ if len(hexstring) % 2:
+ return hexstring
+
+ pos = hexstring.index("..")
+
+ if pos % 2:
+ return hexstring
+
+ if pos > 1:
+ filler = hexstring[pos - 2:pos]
+ else:
+ filler = hexstring[pos + 2:pos+4]
+
+ missing = length * 2 - (len(hexstring) - 2)
+ if missing <= 0:
+ return hexstring
+
+ return hexstring.replace("..", filler * (missing // 2))
+
+ # no change
+ return hexstring
+
+
class JsonEncoder(json.JSONEncoder):
"""Extend the standard library JSONEncoder with support for more types."""
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/28218
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: Iedd7887bf7d706878f4a3beca8dbea456404610b
Gerrit-Change-Number: 28218
Gerrit-PatchSet: 2
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-MessageType: merged
Attention is currently required from: fixeria.
dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/28185 )
Change subject: ts_102_221: The BTLV IEs FILE SIZE and TOTAL FILE SIZE have a min length
......................................................................
Patch Set 8:
(1 comment)
File pySim/construct.py:
https://gerrit.osmocom.org/c/pysim/+/28185/comment/54bc2199_5d8eab9e
PS5, Line 241: if nbytes < minlen:
> I don't trust this. It now behaves differently.
Done
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/28185
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: Ief113ce8fe3bcae2c9fb2ff4138df9ccf98d26ff
Gerrit-Change-Number: 28185
Gerrit-PatchSet: 8
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Fri, 10 Jun 2022 14:25:11 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de>
Comment-In-Reply-To: dexter <pmaier(a)sysmocom.de>
Gerrit-MessageType: comment